基础内容
定义:耦合性是指模块之间的依赖关系,内聚性是指模块内部各部分的紧密程度
关键概念
- 低耦合(Low Coupling):模块之间的依赖关系尽可能少
- 详细说明
- 模块独立性:低耦合意味着一个模块的变动对其他模块的影响尽可能小,每个模块可以独立地进行开发和修改
- 减少依赖:尽量减少模块之间的依赖关系,使得系统更易于维护和扩展
- 实现技术
- 接口与抽象
- 通过接口和抽象类进行模块之间的通信,避免直接依赖具体实现
- 比如:使用依赖注入(Dependency Injection)将具体实现注入到接口中
- 事件驱动架构
- 通过事件总线或消息队列进行模块间的通信,避免模块之间的直接依赖
- 工具:RabbitMQ, Apache Kafka
- 服务发现
- 在微服务架构中,通过服务发现机制减少服务之间的紧耦合
- 工具:Consul, Eureka
- 接口与抽象
- 详细说明
- 高内聚(High Cohesion):模块内部各部分的紧密相关性高
- 详细说明
- 职责单一:模块内的所有功能都紧密相关,共同完成一个相对独立的任务
- 增强可维护性:模块职责明确,代码结构清晰,更容易理解和维护
- 提高复用性:由于高内聚模块的功能单一且明确,这样的模块更容易被复用
- 实现技术
- 面向对象设计
- 通过类和对象进行封装,将相关的功能和数据封装到一个类中,提高内聚性。
- 比如:一个订单处理类包含所有与订单处理相关的方法和属性
- 模块化设计
- 将系统划分为多个独立的模块,每个模块内的功能都高度相关
- 比如:一个电商系统中,将用户管理、订单管理、商品管理等功能分别封装到不同的模块中
- 单一职责原则
- 每个类和模块只负责一个职责,从而提高内聚性
- 示例:一个类只负责日志记录,不负责其他任务
- 面向对象设计
- 详细说明