大话设计模式
最近打算将常用的设计模式学习一下,所以在kindle上下载了“大话设计模式”一书,并在这里写了一片文章,用来记录下自己学习的点滴。同样该篇文章也是一个学习计划
1. 什么时设计模式?
设计模式其实时一套被反复使用,多数人知晓,经过分类的,代码设计经验的总结。使用设计模式的主要目的就是为了可重用代码,让代码更容易被他人理解,同时保证了代码的可靠性。
设计模式的存在使得代码的编写真正的工程化。
2. 设计模式的要求
(1) Open Close Principle(开闭原则): 对扩展开放,对修改关闭。这个原则主要是为了保证程序的良好扩展性,以便代码更加易于维护和升级。
(2) Liskov Substitution Principle(里氏代换原则):所有基类出现的地方,子类一定可以出现。也就是说所有基类出现的地方都是可以用子类来进行替代的。这是代码中继承与服用的基础,同时也保证了子类的可扩展性。
(3) Dependence Inversion Principle(依赖倒转原则):对接口进行相关的编程,依赖于抽象,而不是依赖于具体。
(4) Interface Segregation Principle(接口隔离原则):在软件的总体设计中,应该尽量做到高内聚,低耦合。也就是说为了降低类之间的耦合度,应该使用多个隔离的接口来实现,避免使用单个的接口。
(5) Demeter Principle(迪米特原则):又叫做最少知道原则,也就是说为了减少实体与实体之间的相互作用,应该尽量使整个系统的功能模块相互独立,减少模块之间的相互交流。
(6) Composite Reuse Principle(合成复用原则):在代码设计时,尽量减少继承的使用,多食用合成以及聚合的方式。
3. 设计模式的分类
构造型模式:生成器模式,工厂方法模式,抽象工厂模式,原型模式,备忘录模式
接口型模式:适配器模式,外观模式,组合模式,桥接模式
责任型模式:单例模式,观察者模式,中介模式,代理模式,享元模式
操作型模式:模板方法模式,状态模式,策略模式,命令模式,解释器模式
扩展型模式:装饰器模式,迭代器模式,访问者模式
4. 构造型模式
1)生成器模式
。。。。。
2)工厂方法模式,抽象工厂模式
工厂模式常见的有四种:普通工厂模式,工厂方法模式(多工厂模式),静态工厂方法模式,抽象工厂模式
详细的介绍请看我的另一篇文章:http://www.cnblogs.com/dong-liu/p/7489622.html
3)原型模式
。。。。。
4)备忘录模式
。。。。。
5. 接口型模式
1)适配器模式
。。。。。。
2)外观模式
。。。。。。
3)组合模式
。。。。。。
4)桥接模式
。。。。。。
6. 责任型模式
1)单例模式
单例模式(Singleton)是java中一个比较常见的设计模式,单例对象主要是为了保证在一个JVM中,该对象只有一个实例存在。
常见实现单例模式的方法有:饿汉式,懒汉式,静态内部类,双检锁模式。
详细细节请看我的另一篇文章:http://www.cnblogs.com/dong-liu/p/7508505.html
2)观察者模式
。。。。。。
3)中介模式
。。。。。。
4)代理模式
。。。。。。
5)享元模式
。。。。。。
7. 操作型模式
1)模板方法模式
。。。。。。
2)状态模式
。。。。。。
3)策略模式
。。。。。。
4)命令模式
。。。。。。
5)解释器模式
。。。。。。
8. 扩展型模式
1)装饰器模式
。。。。。。
2)迭代器模式
。。。。。。
3)访问者模式
。。。。。。