耦合 耦合是什么意思通俗点(耦合摆原理)

编辑:
发布时间: 2021-02-23 02:14:39
分享:

模块

模块是将系统逻辑分解成更细微的部分,进行划分和规则,将复杂的问题分解成几个简单的问题,逐一求解。

耦合主要描述模块之间的关系,内聚主要描述模块内部。模块的粒度可以大也可以小,可以是函数、类、功能块等等。

结合

模块之间存在依赖关系,导致可能相互影响的变化。关系越紧密,模块的耦合性越强,独立性越差。

比如模块A直接操作模块B中的数据,就认为是强耦合,如果A只通过数据与模块B交互,就认为是弱耦合。

独立模块易于扩展、维护和编写单元测试。如果模块之间相互依赖很大,开发效率会大大降低。

团结一致

模块内部元素的关联性越强,内聚性越高,模块的奇异性越强。模块应该尽可能独立地完成某项功能,

如果需要在当前模块中引入各种场景,代码质量会变得非常脆弱。这种情况下,建议拆分成多个模块。

低内聚的模块代码,无论是维护、扩展还是重构,都比较麻烦,启动困难。

界面设计原则

一个好的界面应该符合设计模式的六大原则。很多设计模式和框架都是基于高内聚低耦合的出发点。

单一职责原则:一个类只负责一个功能领域中的相应职责。开闭原则:一个软件实体应当对扩展开放,对修改关闭。里氏代换原则:所有引用基类的地方必须能透明地使用其子类的对象。依赖倒转原则:抽象不应该依赖于细节, 细节应当依赖于抽象。换言之, 要针对接口编程, 而不是针对实现编程。接口隔离原则:使用多个专门的接口, 而不使用单一的总接口, 即客户端不应该依赖那些它不需要的接口。迪米特法则: 一个软件实体应当尽可能少地与其他实体发生相互作用, 例如外观模式, 对外暴露统一接口。

给点栗子

立面图案

它为系统中的多个子系统提供一致的外部调用,对客户端隐藏子系统细节,减少其与子系统的耦合。

桥接模式

在JDBC,面向供应商的界面和面向用户的应用编程接口是分离和隔离的。

// 开发者只需要关注JDBC API, 无需关注不同数据库Driver接口实现Class.forName;Connection conn = DriverManager.getConnection;

//开发者只需要关注JDBC API,不需要关注不同数据库驱动接口实现的Class.forNameconnection conn = driver manager . GetConnection;

适配器模式

引入第三方库不应在代码中直接继承或使用其实体类。

需要提取上层统一接口,然后添加实现类,将接口对外公开。

//代码与log4j强耦合,所以不推荐org . Apache . log4j . logger . getroot logger . info。//日志框架frloglerfactory . getlogger . info可以在底部替换;

相关阅读
热门精选
皮肤 孕妇