准备一组算法,并将每一个算法封装起来,方便客户端调用,替换,新增
调度多种算法.
被观察者持有观察者的List,在自身某些状态改变后逐一通知观察者.
JDK 中的Swing中大量使用了观察者模式
通过继承自同一父类,来实现给某一个类动态的添加新的职责,原理是每一个装饰者持有被装饰者的实例,并可以用自身替代他.
java.io包内的读取文件内容的一系列类,如FileInputStream等.
通过私有化构造方法,对外提供唯一实例的全局访问方法来实现某个类只有一个实例,在实现过程中需要注意延迟加载及线程安全问题.
Windows系统的回收站,任务管理器,系统中的配置信息读取,各种连接池的管理.
使多个对象都有机会处理请求,从而避免请求的发送者与接受者之间的耦合关系. 将多个接受者连成一条链,沿着该链处理请求,直到请求被处理为止.
参数的检查,spring的filter,OA系统的审批
在一个方法中定义一个算法的骨架,而将一些详细的步骤延迟到子类中.
模板方法使得子类可以在不改变算法结果的基础上,重新定义算法中的某些步骤.
模板方法使用场景较为丰富,在类的公共父类中都有一些体现.
完。
2019-01-11 完成 2019-01-31 添加单例模式
以上皆为个人所思所得,如有错误欢迎评论区指正。
欢迎转载,烦请署名并保留原文链接。
联系邮箱:huyanshi2580@gmail.com