【发布时间】:2010-01-13 10:48:57
【问题描述】:
从设计和松散耦合的角度来看。为项目中可能是组合模型一部分的每个类都有一个接口是个好主意吗?
我有一个项目正在做这个,但现在我得到了相当多的接口,试图保持相对松散的耦合。
【问题讨论】:
-
通常使用 OOP 接口完成的运行时多态性的替代方法是编译时多态性,例如使用 C++ 模板或 C# 泛型。
标签: c# loose-coupling
从设计和松散耦合的角度来看。为项目中可能是组合模型一部分的每个类都有一个接口是个好主意吗?
我有一个项目正在做这个,但现在我得到了相当多的接口,试图保持相对松散的耦合。
【问题讨论】:
标签: c# loose-coupling
在不知道您的设计细节的情况下,Interface Segregation Principle (pdf) 应该是这样工作的。
您应该为可能需要替换实现的每个类提供一个接口(例如,我不会为每个 DTO 创建一个接口)。
【讨论】:
我通常会创建接口来松散耦合类以进行测试,这样我就可以为我对测试不感兴趣的类创建假货。例如,业务逻辑管理器类将引用数据访问类的接口。
我只在我的测试确实需要“接缝”时创建一个接口,我不只是为所有东西创建接口。
【讨论】: