Skip to content

面向对象的信息隐藏

封装

TODO

封装数据和行为

封装内部结构

封装对其他对象的引用

封装类型信息

封装潜在的变更

为变更而设计

OCP

开闭原则 (OCP) 是对面向对象设计的一个指导性、方针性原则,具体内容是:

  • 好的设计应该对“扩展”开放(开)
  • 好的设计应该对“修改”关闭(闭)

也就是说,当变更发生时,好的设计只需要添加新的代码而不需要修改原来的代码。

DIP

很多时候耦合的方向是很重要的,这就是依赖倒置原则 (DIP) 的关注点。具体内容是:

  • 抽象不应该依赖于细节,细节应该依赖于抽象。因为抽象是相对稳定的。
  • 高层模块不应该依赖于低层模块,而是双方都依赖于抽象。因为无论高层模块还是低层模块都可能是不稳定的。

B 依赖于 A 时,如果 A 不是抽象的,我们就应该为 A 建立抽象接口 IA,然后让 A 去实现 IA,让 B 去依赖 IA,这样就可以符合 DIP