
设计模式
好马行千里
这个作者很懒,什么都没留下…
展开
-
设计模式专题
创建型模式抽象工厂生成器工厂方法原型模式单例模式结构型模式适配器桥接模式组合模式装饰器外观模式享元模式代理模式行为型模式责任链命令拦截器迭代器中介者备忘录观察者状态模式策略模式模板方法访问者...原创 2021-10-19 22:17:05 · 143 阅读 · 0 评论 -
单例模式之饿汉式
饿汉式:线程安全缺点:加载类后一开始就被初始化,即使客户端没有调用getInstance()方法。饿汉式的创建方式在一些场景中将无法使用:譬如 Singleton 实例的创建是依赖参数或者配置文件的,在 getInstance() 之前必须调用某个方法设置参数给它,那样这种单例写法就无法使用了。package com.pn.thread;...原创 2018-04-08 14:15:15 · 138 阅读 · 0 评论 -
单例模式之懒汉式
懒汉式,实现懒加载需要用到同步锁。虽然做到了线程安全,并且解决了多实例的问题,但是它并不高效。因为在任何时候只能有一个线程调用 getInstance() 方法。package com.pn.thread;public class SingletonLazy { private SingletonLazy() {} static SingletonLazy singleton = ...原创 2018-04-08 14:33:01 · 326 阅读 · 0 评论 -
单例模式之双重校验
双重校验是对懒汉式的一种改进。package com.pn.thread;public class SingletonDoubleCheck { static volatile SingletonDoubleCheck singleton; public static SingletonDoubleCheck getInstance() { if (singleton == n...原创 2018-04-08 15:16:16 · 2231 阅读 · 3 评论 -
单例模式之静态内部类
《Effective Java》上所推荐的一种写法。先上代码:package com.pn.thread;public class SingletonInner { private SingletonInner() {} public static Singleton getInstance() { return Singleton.singleton; } privat...原创 2018-04-08 15:26:29 · 132 阅读 · 0 评论 -
委派模式(Delegate)
介绍标准定义:委派模式的原理为类B和类A是两个互相没有任何关系的类,B具有和A一模一样的方法和属性,并且调用B中的方法、属性就是调用A中同名的方法和属性。B好像就是一个受A授权委托的中介。第三方的代码不需要知道A的存在,也不需要和A发生直接的联系,通过B就可以直接使用A的功能,这样既能够使用到A的各种功能,又能够很好的将A保护起来,一举两得。 通俗理解:我们在项目开发中都是一个项目团队,老板把任务...转载 2018-06-05 16:21:06 · 340 阅读 · 0 评论 -
责任链模式
击鼓传花之责任链模式。责任链模式:请求的发送者和请求的处理者解耦。让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。最常见的场景应该是拦截器和日志记录。拿日志记录为例: logger.info(""); logger.debug(""); logger.error(""); logger.warn(...原创 2018-07-20 15:32:07 · 178 阅读 · 0 评论