![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 65
FARO_Z
还好有好好学,毕业没失业
展开
-
设计模式 之 原型模式
原型模式 原型模式,其实就是对 java中clone()方法的应用 clone()方法具体什么原理,我有写一篇专门讲,这里就不重复了 原型模式的问题 因为 clone()方法存在成员变量浅拷贝的问题,所以,如果要完全深拷贝,那就要对成员变量也进行 clone(),如果成员变量较多,且有较多嵌套的话,那实现起来会非常麻烦。 这就要求我们,对深拷贝和浅拷贝,有一定的取舍 为什么要用原型模式? 有人会说:“我直接 new 一个对象不就完事了,为什么还要搞 clone 那么麻烦?”,我们用个例子说话: public原创 2021-04-12 12:06:32 · 76 阅读 · 0 评论 -
设计模式 之 单例模式
单例模式 介绍 单例模式我常用了,在编程开发中经常会遇到这样⼀一种场景,那就是需要保证一个类只有一个实例哪怕多线程同时访问,并需要提供一个全局访问此实例的点。 七中单例模式的介绍 0.静态类的使用 public class Singleton_00 { public static Map<String,String> cache = new ConcurrentHashMap<String, String>(); } 1. 懒汉模式(线程不安全) 构造函数私有化 只通过原创 2021-04-07 11:06:53 · 60 阅读 · 3 评论 -
设计模式 之 建造者模式
建造者模式 这个模式实在是简单 Head First设计模式 里没有写 JDK里的建造者 我们来看一下StringBuilder里的append()的源码: @Override public StringBuilder append(CharSequence s) { super.append(s); // 返回当前对象 return this; } /** * @throws IndexOutOfBoundsExc原创 2021-04-02 01:00:55 · 50 阅读 · 0 评论 -
设计模式之 模板方法模式
模板方法模式 泡咖啡和泡茶,二者相似的动作,可以抽象成一个模板 模板方法模式,在我看来,就像是一个可以自定义实现部分方法的外观模式。 代码模板 一般模板方法的呈现方式,如下: public abstract class TempMethodClass { final void templateMethod() { method1(); abstractMethod1(); method2(); abstractMethod2();原创 2021-04-02 00:20:51 · 98 阅读 · 0 评论 -
设计模式 之 工厂模式
简单工厂 简单工厂不能算是一个设计模式,简单工厂只能算一个编程技巧 就是使用一个简单的 switch case 来创建对应对象 public class SimpleFac { public static Car simpleCarFactory(String type) { switch (type) { case "Audi": return new Audi(); case "Bmw":原创 2021-04-01 17:47:24 · 77 阅读 · 0 评论 -
设计模式 观察者模式的介绍与思考
观察者模式 报社(Subject) 和订阅者(Observer) 观察者模式,就是 观察者Observer去关注Subject,然后当Subject发生数据改变的时候,能将关注它的观察者的数据全部改变。 主题Subject必须实现的接口 public interface Subject { /** * 注册新的观察者 * @param o */ void addObserver(Observer o); /** *原创 2021-03-25 14:17:16 · 82 阅读 · 0 评论