创建型
A__yes
这个作者很懒,什么都没留下…
展开
-
[一天一个设计模式]-[代理模式]
代理模式的设计思想是通过代理的方式避免暴露被代理对象或者说代理不容易被取得的对象. 代理又分为静态代理、动态代理。 静态代理是由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文件,代理类和委托类的关系在运行前就确定了。 动态代理是在实现阶段不用关心代理类,而在运行阶段才指定哪一个对象。当有一组不同的主题的控制访问一致,如果用静态代理就需要为...原创 2019-11-12 16:05:58 · 192 阅读 · 0 评论 -
[一天一个设计模式]-[原型模式]
原型模式即通过一个已有的对象clone出一个一样的对象,当直接创建该对象非常消耗资源时则可以考虑原型模式。实现克隆操作,继承 Cloneable,重写object的 clone()。 克隆分深度克隆和浅度克隆 浅度克隆:只把需要克隆对象的成员变量的值复制过去,如果是引用变量也只会复制引 用地址,指向的和原对象是同一个对象。 深度克隆:把需要克隆对象的引用成员变量也克隆一份。 ...原创 2019-10-31 11:01:45 · 149 阅读 · 0 评论 -
[一天一个设计模式]-[建造者模式]
这个模式和工厂模式很像,建造者(Builder)模式和工厂模式的关注点不同:建造者模式注重零部件的组装过程,而工厂方法模式更注重零部件的创建过程,但两者可以结合使用。 举个栗子,StringBuilder public class AbstractStringBuilder { protected char[] value; protected int count; ...原创 2019-10-30 11:26:39 · 190 阅读 · 0 评论 -
[一天一个设计模式]-[工厂模式]
文章目录简单工厂模式工厂方法模式抽象工厂模式 简单工厂模式 简单工厂模式就是把创建对象实例的工作全部交给工厂类,使用方只需要知道自己需要的类的类型。 举个栗子,养宠物,有的人喜欢猫有的人喜欢狗。 public interface Pet{ void say(); } public class Cat implements Pet{ @Override publ...原创 2019-10-29 11:21:19 · 169 阅读 · 0 评论 -
[一天一个设计模式]-[单例模式]
文章目录1. 饿汉模式2. 懒汉模式3. 双重检验锁4. 静态内部类5. 枚举类 1. 饿汉模式 public class S{ private S(){} private static S s=new S(); public static S get(){ return s; } } 线程安全,加载时就初始化,根据...原创 2019-10-28 11:11:44 · 178 阅读 · 0 评论