设计模式
概述
设计模式是前辈们对于代码开发经验的总结,是解决特定问题的一种固定套路。本质上还是对面向对象设计原则的实际运用,是对类的封装性、继承性和多态性,以及类的关联关系和组合关系的充分理解。设计模式最终要做到的就是将变化的部分和不变的部分隔离开来。
设计模式有两个核心理念:
- Program to an “interface”,not an “implementation”
- 使用者不需要知道数据类型,结构,算法的细节
- 使用者不需要知道实现细节,只需要知道提供的接口
- 利于抽象,封装,动态绑定,多态
- 符合面向对象的特质和理念
- “Favor ‘object composition’ over ‘class inheritance’”
- 继承需要给子类暴漏一些父类的设计和实现细节
- 父类实现的改变会造成子类也需要改变
- 我们以为继承主要是为了代码重用,但实际上在子类中需要重新实现很多父类的方法
- 继承更多的应该是为了多态
TIPS
- 封装变化
- 多用组合,少用继承
- 针对接口编程,不针对实现编程
- 将系统中变化的部分抽离出来封装
导航
接下来,我将具体的深入到每个设计模式当中去,去探究其使用场景
参考文档
- Author: kunpeng
- Link: https://kunpengdai.github.io/post/2019/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.