![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Little-salted-fish
厚积
展开
-
Builder模式
1.简单的链式结构需要在外部类里新建了静态内部类,静态内部类的属性和外部类的属性是一样的,每个属性都有一个方法,而且返回静态内部类,这样就达到了链式设置属性的目的。还得有一个返回外部类的方法,调用外部类的全部构造参数的构造方法,new 一个外部类返回。2.builder模式主人说我要盖的房子,自己盖不了,没技术和能力呗;就请了了工程师,他设计的图纸,盖房子的步骤他了如执掌;工程师最后请...原创 2019-01-04 17:30:31 · 109 阅读 · 1 评论 -
SingleTon模式
单例模式一言以蔽之:内存中要不存在,要不就最多存在一份所以,new 这个关键字只能出现一次。一次意味着,不是谁都可以new的,只能被程序new一次。说白了,对外是不可见的,构造函数私有,对内只能加载一次。屏蔽了构造函数,只能在加载一次上做文章。加载一次关键字是static和enum对于懒汉式和双重检查的单例,多线程还是会指令重排以及性能问题,是不安全的1.饿汉式的直接就...原创 2019-01-07 15:02:25 · 95 阅读 · 0 评论 -
策略模式、责任链模式、状态模式
1.策略模式,举个例子,商场搞活动,满多少返现多少,你只能选择一种返现。有好多种返现活动,你只能选择其中一项优惠活动。其实做的就是单选题目。2.状态模式,每一个状态都知道下一个状态是什么,这是一个过程。你需要的就是设置一个开始的状态,它自动的执行下去。3.责任链模式。状态模式其实是一种写死的责任链模式,责任链模式明确知道下一个责任是谁,就可以写死。当不知道的时候,就需要环境来设置。举个例子...原创 2019-01-08 11:49:05 · 2316 阅读 · 0 评论 -
观察者模式
1.涉及到两个对象,一个观察者和一个被观察者2.观察者的数量大于一,被观察者的数量是一3.观察者如何观察到被观察者有动作了?被观察者如何通知观察者4.二者的联系:观察者注册到被观察者,被观察者就有了观察者的引用集合,当被观察者有动作了,就遍历这个集合,让每个观察者调用自己的方法来获取信息。观察者构造函数的参数是被观察者,被观察者的属性一个观察者的集合。...原创 2019-01-08 16:31:19 · 123 阅读 · 0 评论 -
访问者模式
1.访问者模式,有两个主体,一个是访问者,一个是被访问者2.一般来说,这两个的联系太紧密,直接和在一起就可以了,为什么要分开。3.因为,对于被访问者来说,它比较固定,不会改变,所以抽出来,干净利落。而访问者可以拓展,可以被继承。4.访问者的visit方法的参数是被访问者,被访问者的accept方法的参数是访问者5.有一个容器来收纳被访问者者,提供添加被访问者和获取被访问者的方法...原创 2019-01-09 14:31:17 · 302 阅读 · 0 评论 -
适配器、装饰器、代理模式
具体查看:https://www.cnblogs.com/zhangyinhua/p/7741932.html#_lab2_0_01.适配,改造已有的功能,使其可以用。2.装饰,在已有的功能上,添加其他功能,使其功能更加强大3.代理,代理也增加了其他的功能,但不是为了是主功能更加强大,是为了控制检测这个功能的合理,更有效的使用.比如切面的使用,给一个功能加上了日志和事物,目的是增加这个...转载 2019-01-09 15:24:48 · 152 阅读 · 0 评论