私はかなり大きなシステムの一部を設計し始めましたが、リポジトリを使用する最良の方法は何か不思議でした。クラスへのリポジトリインスタンスの注入
良いだろう方法:
static void Main(string[] args)
{
var dataRepository = new DataRepository();
var classA = new ClassA(dataRepository);
classA.Save();
}
public interface IDataRepository
{
void Save(ClassA myInstance);
}
public class DataRepository : IDataRepository
{
public void Save(ClassA myInstance)
{
//Do some stuff
}
}
public class ClassA
{
private IDataRepository _dataRepository;
public ClassA(IDataRepository dataRepository)
{
_dataRepository = dataRepository;
}
public void Save()
{
_dataRepository.Save(this);
}
}
それとも私が行う必要があります。
static void Main(string[] args)
{
var dataRepository = new DataRepository();
var classB = new ClassB();
dataRepository.Save(classB);
}
public interface IDataRepository
{
void Save(ClassB myInstance);
}
public class DataRepository : IDataRepository
{
public void Save(ClassB myInstance)
{
//Do some stuff
}
}
public class ClassB
{
//some stuff
}
または私はこれをよりエレガントにできた他の方法はありますか?
純粋さを望むなら、UOWクラスを作成し、その中にリポジトリを渡します。これをやり遂げるのはどういう意味ですか? –
それはおそらくDapperになるだろう – Draco
私が言うことは、本当に必要なときだけ紹介すること –