基础知识
3 个基本特征
封装
封装是面向对象的基础,它让我们能够把现实环境的复杂内容进行归类,让编程无论在理解度上还是在语法上进行更好的表达。
继承
继承表达的是“重复”,是复用性的体现,能够让我们通过找到类型的共性进行更进一步的提取和划分。
多态
“多态”则是多样性、可扩展性的体现。面对丰富的和可能不断变化的问题域,让我们的程序能够有更大的容纳性去模拟和适应这些变化。它表达的是“变化”。
7 个设计原则
单一职责原则 (Single Responsibility Principle)
即职责划分要清晰,不同职责的不要搅和在一起。每个类应该只有一个让他发生改变的原因(隔离)
开放关闭原则 (Open-Closed Principle)
对扩展开发,对修改封闭。即如果系统要变化,就去扩展、新增新类,不要修改现有的类( 依赖于抽象,隔离具体)
里氏替换原则 (Liskov Substitution Principle)
子类应该能充分覆盖父类,并且让使用者分不出差别(抽象)
接口隔离原则 (Dependence Inversion Principle)
每个接口只管一个功能,不要出现“胖接口”。增加功能时,要加接口,而不是改接口(隔离)
依赖倒置原则 (Interface Segregation Principle)
具体应该依赖于抽象,而不是抽象一来于具体,即低层要依赖于高层(依赖于抽象)
迪米特法则(Law Of Demeter)
迪米特法则又称为:最少知道原则,它表示一个对象应该对其它对象保持最少的了解。通俗来说就是,只与直接的朋友通信。
组合/聚合复用原则 (Composite/Aggregate Reuse Principle)
组合/聚合复用原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分; 新的对象通过向这些对象的委派达到复用已有功能的目的。
在面向对象的设计中,如果直接继承基类,会破坏封装,因为继承将基类的实现细节暴露给子类;如果基类的实现发生了改变,则子类的实现也不得不改变;从基类继承而来的实现是静态的,不可能在运行时发生改变,没有足够的灵活性。于是就提出了组合/聚合复用原则,也就是在实际开发设计中,尽量使用组合/聚合,不要使用类继承。
23 种设计模式
创建型
- 工厂模式
- 抽象工厂模式
- 单例模式
- 原型模式
- 创建者模式
结构型
- 组合模式
- 装饰者模式
- 外观模式
- 适配器模式
- 代理模式
- 享元模式
- 桥接模式
行为型
- 观察者模式
- 策略模式
- 状态模式
- 中介模式
- 模板方法
- 命令模式
- 备忘录模式
- 访问者模式
- 解释器模式
- 迭代器模式
- 职责链模式
最后更新:
2022-05-06