我的问题没有很多关于使用的接口,但更多的项目的组织的性质。

注:我使用visual studio在一个多层次的应用程序。

应我的口的文件,生活在一个单独的项目从实现他们的? 我的初步想法是,有必要单独出我所有的服务接口的进入他们自己的项目(项目对于我最初的实现方式),以便在路下执行/具体项目可以删除并替换为一个新的,如果必要的。

澄清与一个例子:假设我有一个业务层口称为IBusinessService其生活在MyApp。业务。服务名称空间。我的执行情况FooBusinessService会存在于相同的名字空间,但一个不同的项目在visual studio.如果后在执行需要重新设计、开发可以删除的参考FooService.proj,取而代之的是一个参考BarService.proj.

这似乎是它将驻扎的应用程序的解决方案,允许你参考的项目只有接口也没有取得具体实现方式(这可能是过时的或对你没有用),但是我失去了一些东西?

有帮助吗?

解决方案

我和你在一起。我更喜欢把我的接口在一个单独的项目和在一个不同的名称空间。经典的例子是与数据的接入课程。你想要能够代码一个数据库版本和MySQL版本,两个实现相同的接口。因此,我更喜欢这样的接口定义是在一个单独的大会/项目。这是一个如何我放出来的组件和命名空间:

  • 长老。数据访问.核心包含的接口和公共公用事业
  • 长老。数据访问.MSSQL特MSSQL实现接口
  • 长老。数据访问.MySQL特MySQL实现接口

这让我可以修改实现没有接触的项目,其中包含的接口定义。这可以帮助我通过版本控制和变化的跟踪,了。可能还有其他的方式对皮肤这只猫,所以我将渴望看到其他人'的答案。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top