应该接口可以在一个单独的项目从他们执行?
-
06-07-2019 - |
题
我的问题没有很多关于使用的接口,但更多的项目的组织的性质。
注:我使用visual studio在一个多层次的应用程序。
应我的口的文件,生活在一个单独的项目从实现他们的? 我的初步想法是,有必要单独出我所有的服务接口的进入他们自己的项目(项目对于我最初的实现方式),以便在路下执行/具体项目可以删除并替换为一个新的,如果必要的。
澄清与一个例子:假设我有一个业务层口称为IBusinessService其生活在MyApp。业务。服务名称空间。我的执行情况FooBusinessService会存在于相同的名字空间,但一个不同的项目在visual studio.如果后在执行需要重新设计、开发可以删除的参考FooService.proj,取而代之的是一个参考BarService.proj.
这似乎是它将驻扎的应用程序的解决方案,允许你参考的项目只有接口也没有取得具体实现方式(这可能是过时的或对你没有用),但是我失去了一些东西?
解决方案
我和你在一起。我更喜欢把我的接口在一个单独的项目和在一个不同的名称空间。经典的例子是与数据的接入课程。你想要能够代码一个数据库版本和MySQL版本,两个实现相同的接口。因此,我更喜欢这样的接口定义是在一个单独的大会/项目。这是一个如何我放出来的组件和命名空间:
- 长老。数据访问.核心包含的接口和公共公用事业
- 长老。数据访问.MSSQL特MSSQL实现接口
- 长老。数据访问.MySQL特MySQL实现接口
这让我可以修改实现没有接触的项目,其中包含的接口定义。这可以帮助我通过版本控制和变化的跟踪,了。可能还有其他的方式对皮肤这只猫,所以我将渴望看到其他人'的答案。
不隶属于 StackOverflow