2

早在 12 月,就有一篇帖子被回答为“可以使用具体类型 [用于简单对象]”。

但是我不断在示例项目中看到越来越多的带有接口的简单实体,甚至是我刚刚控制的非常大的企业应用程序(计数 89 个接口并且还在继续)。

是不是人们没有选择最好的方法,只是用“我的项目是松散耦合的!” 方法?

或者,我错过了什么。我可以对我拥有的 IService、IFactory 和 IRepository 实现使用具体类型进行单元测试(并且工作得很好)。我还在构建我的第一个“反腐败层”,用于从主域中抽象出许多这些 3rd 方工具。这个反腐败层有许多 Facades、Translators 和 Adapters - 所有这些都是松散耦合的(或计划是)。

那么,对于具有接口的实体,我是否遗漏了什么?

public interface IContent
{
  Int32 ContentID {get; set;}
}

IList<IContent> list = new List();

编辑:我还应该提到,我拥有的具有所有这些接口的企业应用程序具有零单元测试。哈哈

4

1 回答 1

3

与简单数据对象相比,具有责任的实体符合接口更为重要。如果您可以根据方法定义实体,那么,是的,您将从接口中受益。我看不出一个在应用程序中仅用作 DTO 的对象通过具有接口获得任何巨大优势。

也就是说,在我看来,抽象出由第三方工具或像 L2S 这样的框架创建的“实体”肯定会带来好处。

于 2009-04-09T16:24:45.017 回答