请教各位大侠一个问题,写数据访问层的时候,我写了一个基类,封装了增删改查等一些其他类公用的方法,那么我为什么还要把这些公用方法封装到一个公用接口呢?这样有什么好处?
我的想法是,既然已经在基类封装了公用的方法,那么其他类只要继承了这个基类不是一样可以操作这些公用方法了吗,还有必要再把这些公用方法封装到一个公用接口去,然后让其他类同时继承基类跟基接口吗?比如:
封装数据操作的公用方法的基类
public class BaseRepository<T> where T :class,new()
{
public T AddData(T entity)
{
....
}
}
把这些公用方法定义到一个公共接口吗,比如:
public interface IBaseRepository<T> where T: class,new()
{
T AddData(T entity);
}
让后让其他的类同时继承基类跟实现公共接口:
public partial class RoleRespository : BaseRepository<Role>
{
}
有必要这样做吗,期待各位大侠不吝赐教,谢谢!
这样做主要是为了实现让数据库访问层和业务逻辑层耦合度降低,所以加入了接口
你可以了解一下设计模式相关知识你就明白了
推荐你读一下大话设计模式
假如有一天你被抢劫了,你去报案。
你是具体的找某一个警察报案,还是去找派出所报案?
我想你肯定是找派出所报案,不会找银行、社区、商场报案吧?
这里的派出所、银行、社区、商场都一类特性群体的抽象,也就是接口。
而派出所受理案件后,具体派哪个警察出警,就是具体的实现了。