23种设计模式小感悟

1.普通工厂和静态工厂模式:利用接口来实现,可利用于多个产品创建。

2.抽象工厂模式:倘若在某个接口上你想再增加新的功能,可以创建另一接口编写你想添加的功能。例:A类继承Factory1类拥有Add()方法,而A类并不满足于只拥有Add()方法想再增加一个test()方法,则可以在建一个工厂类,引入接口实现Test方法。

3.单例模式:在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。可以上锁,只允许一个进程运行

4.建造者模式:

8.代理模式:代理类和原有类继承同一个接口,并且代理类里引用原有类对象,就是代理类调用原有类的方法,且对产生的结果进行控制。这种方法就是代理模式。即:在代理类中引用原有类的已有方法,并在该方法中进行修改。

9.外观模式:定义系统的入口,即定义一个高级接口,把各个类的接口引入,降低类之间的耦合度,即:在医院里一卡统一取药看病。

10桥接模式:相同的抽象方法但是不同的桥接实现类,例如:先定义接口Soure,后定义两个实现类sub1,sub2分别实现接口Soure。然后再定义一个桥(即抽象类,里面包含着接口Soure的一个实例),然后再通过对抽象类的调用。

11.组合模式:将多个对象组合在一起进行操作,常用于表示树形结构中,类似二叉树等i。

12.享元模式:减少对象的创建,以减少内存和提高性能为目的,使效率提高。

13.策略模式:定义一个借口,通过类来实现一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 

14.模版模式:将一些共有的方法、抽象的算法,抽象出来。放入抽象类,进行继承实现相对应的方法。例如:每款汽车都有着两个共有的行为:启动、熄火,可以将两个共有的行为提出来,作为模版。

15.观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。例如:定义一个抽象类(观察者类),通过继承实现观察者类,传入对应的对象,调用里面的抽象方法进行改变。

16.迭代器模式:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。主要解决:不同的方式来遍历整个整合对象。

posted @ 2017-12-29 09:32  码农Ne'w出新世界  阅读(353)  评论(0编辑  收藏  举报