软件架构中的耦合、内聚与架构风格解析
1. 耦合与内聚
在软件开发中,耦合和内聚是两个紧密相关的概念,它们对于软件的可维护性、可测试性和可扩展性有着重要影响。
1.1 耦合
耦合衡量的是一个软件单元对其他单元的依赖程度。耦合度越低越好,高耦合意味着一个单元依赖于多个其他单元。
例如,如果一个类依赖于另一个类的私有成员,那么这两个类就是紧密耦合的。当被依赖的类发生变化时,依赖类也需要相应改变,这不是一个理想的情况。为了降低耦合,可以考虑为成员函数添加参数,而不是直接访问其他类的私有成员。
以下是一个紧密耦合的例子:
class MiddlewareDeveloper {
public:
void developMiddleware() {}
};
class Project {
public:
void deliver() {
fed_.developFrontEnd();
med_.developMiddleware();
bed_.developBackEnd();
}
private:
FrontEndDeveloper fed_;
MiddlewareDeveloper med_;
BackEndDeveloper bed_;
};
当添加一个新的开发者类型时,需要修改 Project 类的公共接口,这表明它们是紧密耦合的,并且这种实现违反了开闭原则(OCP)。
使用依赖倒置可以实现松散耦合:
超级会员免费看
订阅专栏 解锁全文
176万+

被折叠的 条评论
为什么被折叠?



