5.Design Principles
Software Architecture & Engineering · 8 篇笔记
- 5.1 开闭原则historical
1. 什么是开闭原则 对扩展开放,对修改关闭 2. 为什么需要开闭原则 降低维护带来的新风险 3. 开闭原则实现 新需求修改代码的时候看下会不会修改到原有的代码,有的话需要重构:通过接口或者抽象类定义抽象层,将可变因素封装在具体实现类中 继承:里氏替换原则.md 组合/聚合:合成复用原则.md 4.
- 5.2 里氏替换原则historical
1. 什么是里氏替换原则 不要破坏继承体系,子类重写方法功能发生改变,不应该影响父类方法的含义 开闭原则在继承中的体现 2. 为什么需要里氏替换原则 通过继承提高软件复用能力 3. 里氏替换原则实现 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法 子类中可以增加自己特有的方法 4. 参考 -
- 5.3 依赖倒置原则historical
1. 什么是依赖倒置原则 高层不应该依赖低层 要面向接口编程,不要面向实现编程。 2. 为什么需要依赖倒置原则 提高可扩展性 3. 依赖倒置原则实现 每个类尽量提供接口或抽象类,或者两者都具备。 变量的声明类型尽量是接口或者是抽象类。 任何类都不应该从具体类派生而应该从抽象类派生。 使用继承时尽量遵
- 5.4 单一职责原则historical
1. 什么是单一职责原则 一个类只干一件事,实现类要单一 2. 为什么需要单一职责原则 提高代码的可读性 3. 单一职责原则实现 需要设计人员发现类的不同职责并将其分离,再封装到不同的类或模块中 4. 参考 - 单一职责原则——面向对象设计原则
- 5.5 接口隔离原则historical
1. 什么是接口隔离原则 一个接口只干一件事,接口要精简单一 2. 为什么需要接口隔离原则 提高代码的可读性 解耦 3. 接口隔离原则实现 接口尽量小,一个接口只服务于一个子模块或业务逻辑。 为依赖接口的类定制服务。只提供调用者需要的方法,屏蔽不需要的方法。 4. 参考 - 接口隔离原则——面向对象
- 5.6 迪米特法则historical
1. 什么是迪米特法则 不该知道的不要知道,一个类应该保持对其它对象最少的了解 2. 为什么需要迪米特法则 降低耦合度 3. 迪米特法则实现 从依赖者的角度来说,只依赖应该依赖的对象。 从被依赖者的角度说,只暴露应该暴露的方法。 4. 参考 - 迪米特法则——面向对象设计原则
- 5.7 合成复用原则historical
1. 什么是合成复用原则 尽量使用组合或者聚合关系实现代码复用,少使用继承 开闭原则在组合/聚合中的体现 2. 为什么需要合成复用原则 通过组合提高软件复用能力 3. 合成复用原则实现 将新对象作为原有对象的属性注入 4. 参考 - 合成复用原则——面向对象设计原则
- 5.8 OOP设计原则historical
1. 什么是面向对象设计原则 2. 为什么需要面向对象设计原则 提高代码的可维护性、可扩展性、可复用性 3. 面向对象设计原则分类 3.1. 开闭原则 开闭原则.md 3.2. 里氏替换原则 里氏替换原则.md 3.3. 合成复用原则 合成复用原则.md 3.4. 接口隔离原则 接口隔离原则.md