ソリッドディップ


プリンシプルを中心として

Módulos de alto nível não devem depender de módulos de baixo nível. Ambos devem depender de abstrações; Abstrações não devem depender de detalhes. Detalhes devem depender de abstrações.


<研究ノート>オーマの抽象的概念
PORの例
Temos - uma - classe pethop queは、petrepositoriomysql e - poso o mについて、sedo構造体を後退させます.
    public class Petshop
    {
        private readonly PetRepositorioMySQL _petRepositorioMySQL;
        public Petshop()
        {
            _petRepositorioMySQL = new PetRepositorioMySQL();
        }

        public void _CadastrarOuAtualizarPet(string nome)
        {
            var pet = _petRepositorioMySQL.Get(nome);

            if (pet == null)
                _petRepositorioMySQL.Insert(pet);
            else
                _petRepositorioMySQL.Update(pet);
        }
    }
問題点としての問題点と問題点NOSSA CLASSE N ' O O deveria ter que saber como se instancia esteリポジトリ日本語:第一次世界大戦サーベルo que lee be o o queレトルナ.
Edso、Estamos Quebrando O Princessは、ピオdaインバースを引きます.
Solu
インタフェースを使用したインターフェイスです.
    public class PetRepositorioMySQL : IRepositorioGenerico
    {
        public Pet Get(string nome)
        {
            throw new NotImplementedException();
        }

        public void Insert(Pet pet)
        {
            throw new NotImplementedException();
        }

        public void Update(Pet pet)
        {
            throw new NotImplementedException();
        }
    }
デモン・ダ・クラッセPetshop , Nのsのinetemamos nossa classe petrepositoriomysql表現するpela suaインタフェースIrrortoriogenerico .
    public class Petshop
    {
        private readonly IRepositorioGenerico _repositorio;
        public Petshop(IRepositorioGenerico repositorio)
        {
            _repositorio = repositorio;
        }

        public void _CadastrarOuAtualizarPet(string nome)
        {
            var pet = _repositorio.Get(nome);

            if (pet == null)
                _repositorio.Insert(pet);
            else
                _repositorio.Update(pet);
        }
    }
アッシム・アン・オブリガダ著,『リサイタルのリポジート』,第1巻,第4巻第1巻第1巻第1巻第1 ,第3 ,第3 ,第3 ,第3 ,第3 ,第3 ,第3 ,第3 ,第3 ,第3 ,第3 ,第3 ,第3 ,第3 ,第四部E se caso um dia preisemos mudar oリポジトリes . o o rio,n plo o preisaremos alterar a classe petshop,desde que o novoのリポジトリデマ・フォルマ・インテンテノ.