ソリッドディップ
プリンシプルを中心として
<研究ノート>オーマの抽象的概念
PORの例
Temos - uma - classe pethop queは、petrepositoriomysql e - poso o mについて、sedo構造体を後退させます.
Edso、Estamos Quebrando O Princessは、ピオdaインバースを引きます.
Solu
インタフェースを使用したインターフェイスです.
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のリポジトリデマ・フォルマ・インテンテノ.Reference
この問題について(ソリッドディップ), 我々は、より多くの情報をここで見つけました https://dev.to/gbarbosa/solid-dip-1138テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol