Bootstrap

面向对象系统的分析和设计

来源:《设计模式精解-GOF23种设计模式解析》

作者:k_eckel

k_eckel's mindview - 博客园 (cnblogs.com)

---------

面向对象系统的分析和设计实际上追求的就是两点:

(1)高内聚

(2)低耦合

---------

"高内聚"是软件工程中的一个概念,指的是模块内部各元素之间相互关联的程度很高。具体来说,高内聚的特点是:

  1. 模块内的元素(如函数、类、组件等)紧密地结合在一起,共同完成一个单一的任务
  2. 模块之间的交互尽量简单每个模块尽量独立减少对其他模块的依赖
  3. 模块内部的数据和处理逻辑紧密相关,尽量减少对外部数据的依赖

高内聚的优点包括:

  • 提高了代码的可维护性,因为模块职责单一,更容易理解和修改
  • 增强了代码的可重用性,独立的模块可以在其他项目中重用
  • 降低了模块间的耦合度,使得系统更灵活,更容易扩展

---------

"低耦合"也是软件工程中的一个核心概念,它描述了不同模块或组件之间的相互依赖程度。低耦合的目标是减少模块之间的依赖关系,使得一个模块的变化对其他模块的影响最小化。以下是低耦合的一些关键点:

  1. 独立性:模块之间尽量独立,每个模块应该能够独立开发和测试,而不需要过多地了解其他模块的内部细节。

  2. 简单接口:模块之间通过简单的接口进行通信,接口应该定义清晰,功能单一。

  3. 最少知识原则:也称为迪米特法则(Law of Demeter),一个模块应该尽量少地了解其他模块的内部工作情况

  4. 松散连接:模块之间的连接应该是松散的,这样当一个模块被修改或替换时,不会对其他模块产生连锁反应

低耦合的优点包括:

  • 可维护性:由于模块之间依赖关系较少,修改一个模块时不会影响到其他模块,因此系统更易于维护。
  • 可扩展性:添加新模块或修改现有模块时,对系统其他部分的影响较小,因此系统更易于扩展
  • 可测试性:低耦合的系统更容易进行单元测试,因为可以独立测试每个模块而不需要依赖其他模块
  • 灵活性:低耦合的系统更加灵活,因为模块可以更容易地被替换或升级

在设计软件系统时,追求低耦合是提高系统可维护性、可扩展性和可靠性的重要手段。通过减少模块间的依赖,可以使得系统更加健壮,更容易适应变化

---------

设计模式体现的是一种思想,思想是指导行为的一切,理解和掌握了设计模式,我们会接受到一种思想的熏陶和洗礼。

--------

学习设计模式的过程应当是一个迭代的过程,学东西不能追求一遍掌握,理解透彻,以一种迭代的思想来指导学习过程是比较好的。

;