前言
人生啊…就是每天中午吃完午餐,坐在工位玩手机,看看公众号,逛逛知乎,刷刷头条.百无聊赖中,决定不如中午的时间用来学学四人帮的设计模式,也是不错. 所以,从今天开始,午饭后学习设计模式.将笔记记录在此.(start from 2016.11.17)
开始
学习主要参考 http://www.runoob.com/design-pattern/design-pattern-intro.html ,若参考了其他的博客,也会在文末注明.
设计模式的目的,是为了能够重用代码,使代码更易于理解,也更加健壮,可靠.
设计模式的六大设计模式:
- 单一责任原则 - 一个类只负责一个功能领域中的相应职责
- 开闭原则 - 对扩展开发,对修改关闭
- 里氏替换原则(LSP) - 即任何基类出现的地方,都可以用子类进行替换
- 依赖倒转原则 - 开闭原则的基础,即,针对接口编程,依赖于抽象而不依赖于具体
- 接口隔离原则 - 降低类直接的耦合度,即,使用多个隔离的接口,比使用单个接口要好
- 最少知道原则(迪米特法则) - 一个实体应当尽量少的与其他实体之间发生相互作用,使得系统的功能模块相对独立
- 合成复用原则 - 尽量使用合成/聚合的方式,而不是使用继承
浪起来
类型 | 模式 |
---|---|
创造型 | 单例模式 |
创造型 | 简单工厂模式 |
创造型 | 工厂方法模式 |
创造型 | 抽象工厂模式 |
创造型 | 原型模式(prototype) |
创造型 | 建造者模式 (builder) |
结构型 | 适配器模式 |
结构型 | 桥接模式(bridge) |
结构型 | 组合模式 |
结构型 | 装饰模式 |
结构型 | 外观模式 |
结构型 | 享元模式(flywight) |
结构型 | 代理模式 |
行为型 | 责任链模式 |
行为型 | 命令模式 |
行为型 | 解释器模式 |
行为型 | 迭代器模式(iterator) |
行为型 | 中介者模式(mediator) |
行为型 | 备忘录模式(memento) |
行为型 | 观察者模式(observer) |
行为型 | 状态模式(state) |
行为型 | 策略模式(strategy) |
行为型 | 模版方法模式 |
行为型 | 访问者模式 |