【发布时间】:2010-12-10 22:17:12
【问题描述】:
我们从事一个中等规模的项目(3 个开发人员超过 6 个月),需要做出以下决定:我们希望将接口与具体实现分开。第一种是将接口存储在单独的文件中。
我们希望更进一步,进一步分离数据:我们希望在一个 .CS 文件中拥有一个带有接口的项目 (CSPROJ),再加上另一个带有帮助类的 .CS 文件(例如其中使用的一些公共类)这个接口,一些枚举等)。然后,我们想要另一个项目(CSPROJ),它具有工厂模式、具体接口实现和其他“工人”类。
任何想要创建实现此接口的对象的类都必须包括包含接口和公共类的第一个项目,而不是实现本身。
此解决方案有一个很大的缺点:它将程序集的数量乘以 2,因为对于每个“正常”项目,您将拥有一个具有交互的项目和一个具有实现的项目。
你会推荐什么?您认为将所有接口放在一个单独的项目中而不是将一个接口放在自己的项目中是个好主意吗?
【问题讨论】:
-
所有接口都是public的,我不考虑Remoting、WCF等外部接口。