设计模式
残阳蓝夕
这个作者很懒,什么都没留下…
展开
-
单例模式
1.作用:保证全局对象唯一,以此保证对象的状态一致,相关配置参数一致2.特点:1)构造器私有化2)只能自己给自己创建唯一实例3)必须给其它对象提供获取该对象的公共方法3.分类:1)饿汉式2)懒汉式4.区别: 加载方式1)饿汉式,立即加载,在类加载初始化时就创建好静态对象供外部使用2)懒汉式,延迟加载,在需要时创建对象 线程安全对象是static修饰,属于共享资源,1...转载 2019-03-07 08:28:36 · 193 阅读 · 0 评论 -
代理模式
一.关键点通过代理对象访问被代理对象的目标方法,代理对象是被代理对象的扩展,会调用被代理对象的目标方法二.静态代理步骤:1)公共的接口2)被代理类实现公共接口,并在接口的实现方法中写具体业务代码3)代理类实现公共接口,增加成员变量公共接口对象,增加构造方法,入参为公共接口对象,将入参的公共接口对象赋值给成员变量的公共接口对象,在代理的实现方法中调用公共接口对象的方法4)代理类实现代理...原创 2019-03-09 15:21:45 · 173 阅读 · 0 评论 -
流程模版设计
一.背景:需求:产品迭代,需要对接大量外部ERP系统,每个外部系统的业务流程之间,有些许的差异,这些差异会让代码里有很多的if…else判断并增加自己独有的业务处理,造成代码耦合度高难以维护。因此希望将业务代码进行拆解,拆分为一个个原子服务,再将这一个个原子服务,根据渠道编码和业务编码,组装成一个个模版,每一个模版就对应一个外部系统的对接需求,模版之间互不影响。架构:后台采用了Spring ...原创 2019-04-25 18:09:41 · 763 阅读 · 0 评论 -
单例模式--双重检查判断--编译优化后异常--浅析
一.示例代码:public class Singleton { private static volatile Singleton singleton; private Singleton() {} public static Singleton getInstance() { if (singleton == null) { sync...原创 2019-03-30 12:15:49 · 2033 阅读 · 1 评论