0
在当前项目中,我有以下结构:在哪里可以放置虚拟Web服务实现?
- 内部-PROJ
- ^内部-PROJ-默认地将Impl
- 外部-PROJ
- ^外部-PROJ-默认地将Impl
内部项目定义了一个Web服务(接口在Internal-Proj中,显然是在Impl中的实现)。外部项目使用此Web服务。因此,External-Proj-Impl对Internal-Proj有依赖性。
我们创建了一个WebServiceDummy类,它实现了WebService,并将用于External-Proj-Impl中的测试。问题是这个WebServiceDummy应该放在哪里?
- 在External-Proj-Impl中:这不会创建新的依赖关系。下行:如果一个新项目也需要一个假人,它将不得不自己创建。我也喜欢这样的想法,即内部负责为他们的界面提供虚拟人物,这不是这种情况。
- 在Internal-Proj中:这不需要新的依赖关系,但它意味着在接口项目中有一个实现(尽管是虚拟的)。
- In Internal-Proj-Impl:这是有道理的,因为虚拟是一个实现而不是一个接口。然而,这意味着External-Proj-Impl现在对Internal-Proj-Impl具有依赖性,这是不可接受的。
如果有问题,我们使用Spring,这意味着我们在上下文中声明我们是否使用真正的实现,虚拟或Web服务客户端,然后注入。
对此有最佳做法吗?
把它与使用它的测试。 – 2013-07-29 10:13:42