设计模式
设计模式是软件开发过程中一些常见问题的典型解决方案。我们可以将其理解为软件开发的套路。
有人认为设计模式是比数据结构与算法更重要的技能,因为数据结构和算法更容易复用,但是设计模式常常需要因地制宜,十分考验工程师的抽象能力,但是在实际开发中也不能为了设计而设计,过度强调未来,造成过度设计。
设计原则
- 单一原则:修改一个类的原因只有一个。
- 开闭原则OCP:对扩展开放,对修改关闭
- 依赖倒置原则:面向接口编程
- 里氏替换原则:扩展一个类时,能够(不修改代码)将子类的对象作为父类对象进行传递。优先使用对象组合而不是继承。
- 迪米特原则:也叫最少知识原则,类应尽量降低成员的访问权限,即耦合尽可能弱。
- KISS:keep it simple stupid, 如无必要,勿增实体
常见设计模式
- 创建型模式(5 个):与对象的创建有关。
- 工厂方法模式
- 抽象工厂模式
- 单例模式
- 建造者模式
- 原型模式
- 结构型模式(7 个):与对象的组装有关。
- 适配器模式
- 装饰模式
- 外观模式
- 桥接模式
- 代理模式
- 组合模式
- 享元模式
- 行为模式(11 个):与对象之间的沟通协调有关。
- 观察者模式
- 命令模式
- 状态模式
- 职责链模式
- 模板方法模式
- 策略模式
- 解释器模式
- 中介者模式
- 访问者模式
- 备忘录模式
- 迭代器模式
读源码-设计模式
resources
书:
网站: