设计模式开篇
引用:谦虚的天下 http://www.cnblogs.com/qianxudetianxia/archive/2011/07/29/2121547.html
oop = 面向对象特性 + 原则 + 模式
面向对象的三大特性:封装、继承、多态。
设计:两大基本原则和五大设计原则
面向对象设计的2个基本原则:
1.针对接口编程,而不是针对实现编程。
2.优先使用对象组合,而不是类继承。
面向对象设计的5个设计原则:
1.单一职责原则(SRP)
2.开放封闭原则(OCP)
3.Liskov替换原则(LSP)
4.依赖倒置原则(DIP)
5.接口隔离原则(ISP)
http://www.cnblogs.com/seacryfly/archive/2011/12/29/seacryfly.html
http://blog.csdn.net/banketree/article/details/24985607
模式:GOF 23个设计模式+N
根据模式的目的可分为3类:
1.创建型模式:与对象的创建有关。
2.结构性模式:处理类与对象的组合。
3.行为性模式:对类或对象怎样交互和怎样 分配职责进行描述。
设计模式解决的问题:
下面列举几个常见的问题导致重新设计,可能需要设计模式来分析解决:
1.通过显示的指定一个类来创建对象
2.对特殊操作的依赖
3.对硬件和软件平台的依赖
4.对对象表示或实现的依赖
5.算法依赖
6.紧耦合
7.通过生产子类来扩展功能
8.不能方便的对类进行修改
软件的设计臭味:
1.僵化性
2.脆弱性
3.顽固性
4.粘滞性
5.不必要的复杂性
6.不必要的重复
7.晦涩性
设计模式以目的分类:创建型模式、结构型模式、行为型模式。
*创建型模式:
1、工厂方法模式
2、抽象工厂模式
3、创建者模式
4、原型模式
5、单例模式
*结构型模式:
6、适配器模式
7、桥模式
8、组合模式
9、装饰模式
10、外观模式
11、享元模式
12、代理模式
*行为型模式
13、解释器模式
14、模板方法模式
15、职责链模式
16、命令模式
17、迭代器模式
18、中介者模式
19、备忘录模式
20、观察者模式
21、状态模式
22、策略模式
23、访问者模式
除此之外,后来人发现很多新的模式,如空模式等。
总结:期望在之后的学习工作中能充分利用好设计模式。