我制作了一个通用接口,例如:
public interface IDatabaseElement<T>
{
IList<T> GetAll();
T Get(id);
void Save(T element);
void Delete(int id);
}
如果我有两个仅使用上述方法的元素(Person 和 Store),那么什么是最佳实践?
A:为每个元素创建一个新界面,例如:
public interface IPerson : IDatabaseElement<Person> { }
public interface IStore : IDatabaseElement<Store> { }
然后我的课程像:
public class Person : IPerson { .... }
public class Store : IStore { .... }
在实例化变量时:
IPerson person = new Person();
IStore store = new Store();
或 B:直接使用通用接口,例如:
public class Person : IDatabaseElement<Person> { .... }
public class Store : IDatabaseElement<Store> { .... }
并且在不明确变量时:
IDatabaseElement<Person> person = new Person();
IDatabaseElement<Store> store = new Store();
什么被认为是最佳实践?