我已经像一个通用接口通用接口:最佳实践:
public interface IDatabaseElement<T>
{
IList<T> GetAll();
T Get(id);
void Save(T element);
void Delete(int id);
}
如果我有例如仅使用上述方法的两个要素(人员和商店)被认为是最佳实践?
答:制作一个新的接口的每个元素,如:
public interface IPerson : IDatabaseElement<Person> { }
public interface IStore : IDatabaseElement<Store> { }
,然后我的类,如:
public class Person : IPerson { .... }
public class Store : IStore { .... }
和instanciating变量时:
IPerson person = new Person();
IStore store = new Store();
或 乙:直接使用通用接口:
个public class Person : IDatabaseElement<Person> { .... }
public class Store : IDatabaseElement<Store> { .... }
和instainciating当变量:
IDatabaseElement<Person> person = new Person();
IDatabaseElement<Store> store = new Store();
什么被认为是最佳做法?
这个问题是偏离主题。 – 2013-05-12 13:03:29
@olf请看看SO的常见问题,这个问题不是关于具体问题。 – Candide 2013-05-12 13:04:52
为什么你的实体首先知道数据库?而且你的方法对一个实体来说是完全荒谬的,他们会适合一个存储库。 – CodesInChaos 2013-05-12 13:06:07