[设计模式] 一句话总结设计模式与应用场景

Posted1 by 呼延十 on January 11, 2019 Hot:

策略模式

准备一组算法,并将每一个算法封装起来,方便客户端调用,替换,新增

应用场景

调度多种算法.

观察者模式

被观察者持有观察者的List,在自身某些状态改变后逐一通知观察者.

应用场景

JDK 中的Swing中大量使用了观察者模式

装饰者模式

通过继承自同一父类,来实现给某一个类动态的添加新的职责,原理是每一个装饰者持有被装饰者的实例,并可以用自身替代他.

应用场景

java.io包内的读取文件内容的一系列类,如FileInputStream等.

单例模式

通过私有化构造方法,对外提供唯一实例的全局访问方法来实现某个类只有一个实例,在实现过程中需要注意延迟加载及线程安全问题.

应用场景

Windows系统的回收站,任务管理器,系统中的配置信息读取,各种连接池的管理.

责任链模式

使多个对象都有机会处理请求,从而避免请求的发送者与接受者之间的耦合关系. 将多个接受者连成一条链,沿着该链处理请求,直到请求被处理为止.

应用场景

参数的检查,spring的filter,OA系统的审批

模板方法模式

在一个方法中定义一个算法的骨架,而将一些详细的步骤延迟到子类中.

模板方法使得子类可以在不改变算法结果的基础上,重新定义算法中的某些步骤.

应用场景

模板方法使用场景较为丰富,在类的公共父类中都有一些体现.

完。





ChangeLog

2019-01-11 完成 2019-01-31 添加单例模式

以上皆为个人所思所得,如有错误欢迎评论区指正。

欢迎转载,烦请署名并保留原文链接。

联系邮箱:huyanshi2580@gmail.com

更多学习笔记见个人博客——>呼延十