我有一个像这样的项目结构:-
CentralRepository.BL
CentralRepository.BO
CentralRepository.DataAccess
CentralRepository.Tests
CentralRepository.Webservices
并且它们之间存在大量的依赖关系。我想利用统一性来减少依赖性,所以我要为我的类创建接口(interface)。我的问题是接口(interface)应该驻留在哪个项目中。我的想法是它们应该在 BO 层中。有人可以给我一些指导吗
最佳答案
在组合层面上,您有三个选择:
- 在单独的库中定义接口(interface)
- 与消费者一起定义接口(interface)
- 与实现者一起定义接口(interface)
但是,最后一个选项是一个非常糟糕的主意,因为它将接口(interface)与实现者紧密耦合(或相反)。由于首先引入接口(interface)的全部目的是减少耦合,因此这样做没有任何好处。
与消费者一起定义接口(interface)通常就足够了,我个人只在不同的消费者在玩时才采取额外的步骤在单独的库中定义接口(interface)(如果你发布一个公共(public)的,这通常会发生API)。
关于c# - IOC 和接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7742858/