在几个ASP.NET项目中,我看到了接口和实现类的一对一对应关系。例如,会有Account
和IAccount
,AccountService
和IAccountService
等。
这真的有必要吗?如果每个接口都有多个实现,那就有意义了。但是,由于一对一的对应关系并且没有多态性,这似乎是不必要的重复(违反DRY原则)。
它几乎让我想起早期的Spring或EJB项目,其中接口是处理框架和动态代理创建的必要之物。但随着框架的成熟和改进,这些界面开始消失。
这个约定来自C#和ASP.NET的任何想法?
答案 0 :(得分:0)
DRY原则仍然存在:实施不重复,界面只是合同。 另一个实现将在您开始编写单元测试时发出,即模拟。