![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Java设计模式
小阳同学^_^
是行动让潜能无限
展开
-
8、观察者(watcher)模式
观察者模式简介观察者模式观察者模式有2种角色被观察者被观察者的入参对象,都是观察者的抽象接口观察者观察者的入参对象,都是被观察者的抽象接口场景微博1)粉丝关注明星的账号2)粉丝取消关注3)明星的动态通知粉丝被观察者接口/** * 被观察者,发布者 接口 * * * */public interface Publisher { /** * 添加粉丝 * 入参为 观察者/订阅者 的抽象接口 * * */ pub原创 2020-05-12 23:09:42 · 315 阅读 · 1 评论 -
7、适配器(Adaptor)模式
适用场景用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座与笔记本电脑的电源插头不匹配使得笔记本电脑无法使用。这时候一个三相到两相的转换器(适配器)就能解决此问题,而这正像是本模式所做的事情。适配器简介角色:源类(Adaptee)角色:用户想要适用这个类,但是这个类中没有用户期望的sampleOperati...原创 2020-04-21 22:37:54 · 318 阅读 · 0 评论 -
6、代理模式(静态,jdk,cjlib)
静态代理模式场景工人(张三)讨薪场景在开庭之前委托律师开庭的时候,用之前已经定好的律师实现诉讼的接口类(行为接口类)被代理的类(工人提供证明的类)代理律师的类产生代理对象的静态工厂类/** * 静态代理行为接口类 * * */public interface LawsuitService { /** * 提交证明 ...原创 2020-04-19 18:17:44 · 160 阅读 · 0 评论 -
5、责任链模式
什么是责任链模式责任链模式:顾名思义,是一条具有处理事务能力的一个链条。每个链条中的节点根据条件,都有机会处理事件。如果某个节点处理完了,就可以进入下个节点或者返回责任链模式:符合开闭原则。如果要增加节点,直接继承抽象类即可。责任链模式角色1、必须具备一个抽象的处理类基类该基类中具有1个必备的属性和1个必备的方法属性:该节点的下一个节点方法:处理事务的方法。2、责任链的节点。1)...原创 2020-04-16 23:40:45 · 114 阅读 · 0 评论 -
4、建造者模式(创建型模式)
建造者模式适用场景1、在接口中,所有的抽象的行为(方法),不需要全部实现例如:电动车和汽油车。电动车的行为是充电。而汽油车的行为是加油2、符合设计模式的单一职责和开闭原则例如:新增卡车的时候,还需要修改原来的代码3、不想创建很多的构造方法例如:创造电动车和汽油车。会建2个构造方法,以后扩展的话,还会建很多的构造方法建造者模式成员1、Product (产品类):需要为其构建对象的类,...原创 2020-04-06 15:49:43 · 131 阅读 · 0 评论 -
3、工厂模式(工厂方法模式)
工厂模式应用场景对可扩展的模块,不会动以前的代码,不会在以前的代码中出现if else ,不打破设计模式的单一职责原则和开闭原则。所以说,如果有新的扩展,会继承抽象类,重新创建新的工厂类工厂方法模式必备要素:1、具有抽象的工厂基类(该类用abstract修饰)将该领域的行为(方法)抽象出来,abstract 类来为行为创建了一个模板。规范其流程,主流程中有N个子流程。其中一部分个性化...原创 2020-04-05 13:23:05 · 144 阅读 · 1 评论 -
2、单例模式(双重锁和内部类)
单例模式单例模式是在一个应用中,该类只有1个实例1、需要将构造方法私有化。2、获取实例的方法static3、有饿汉和懒汉模式。饿汉模式是线程安全的。会影响启动速度懒汉模式会在用的时候,再去创建。但是是线程不安全的,双重锁和内部类可以使懒加载是线程安全的双重锁/**懒汉模式细粒度(线程安全的)*/public class SingletonLazySafeSyn { ...原创 2020-04-05 13:03:21 · 104 阅读 · 0 评论 -
1、Java设计模式(开篇)
从面向对象编程(OOP)–>函数式编程JDK1.8以后,Java出了 lambda表达式, Java从面向对象编程–>面向对象编程+函数式编程面向对象基于4个基本原则:1、封装:类中包含的各种属性和行为。是将属性和行为绑定到一起。以便维护和扩展2、抽象:例如:接口。这种类可以公开它做的事情,但是隐藏它的实现3、继承:将基类的能力赋予子类4、多态:不同类型的实体使用相同接口的...原创 2020-04-01 23:56:49 · 98 阅读 · 0 评论