
设计模式
《设计模式》一书中介绍了23中java经典设计模式,其四名作者被称为GOF。此外,本专栏外加简单工厂模式,委派模式。另外,菜鸟教程https://www.runoob.com/design-pattern/design-pattern-tutorial.html对这些设计模式做了详细系统的介绍,可以参考
qidaorenzhe
一介草民
展开
-
责任链模式
顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。 意图:避免请求发送者与接收者耦合在一起,让多个对象都...原创 2019-11-29 15:34:58 · 208 阅读 · 0 评论 -
委派模式和策略模式
定义: 作用就是任务的调度和分配,跟代理模式很像,可以看成是一种特殊情况下的静态代理的全权代理。 代理模式注重过程,委派模式注重结果。 不属于GOF 23种设计模式之一,属于行为模式。 Spring中DispatchServlet就是使用的委派模式。 package com.gupaoedu.vip.pattern.delegate.simple; /** * Created b...原创 2019-10-23 23:59:09 · 238 阅读 · 0 评论 -
代理模式
定义: 代理模式是指,为其他对象提供一种代理,以控制对这个对象的访问。(保护和增强目标对象) 分为动态代理和静态代理。 一、静态代理:显示声明被代理对象 package com.gupaoedu.vip.pattern.proxy; /** * Created by Tom on 2019/3/10. */ public interface Person { void f...原创 2019-11-03 15:25:06 · 162 阅读 · 0 评论 -
原型模式
定义:通过拷贝原型创建新的对象。 调用者不需要知道任何创建细节,不调用构造函数。属于创建型模式。 适用场景: 1,类初始化消耗资源太多。 2,new产生一个对象需要非常繁琐的过程(数据准备,访问权限等) 3,构造函数比较复杂 4,循环体中产生大量对象时。 如: BeanUtils.copy();//默认浅克隆,可以设置为深克隆 JSON,parseObject() Copy ...原创 2019-10-13 15:00:41 · 147 阅读 · 0 评论 -
工厂模式
一、简单工厂模式 我们先创建公共接口ICourse.java package com.gupaoedu.vip.pattern.factory; /** * Created by Tom. */ public interface ICourse { /** * 录制视频 * @return */ void record(); } 创建2个...原创 2019-10-13 15:01:14 · 141 阅读 · 0 评论 -
单例模式
单例模式是指,在一个类在任何情况下都只有一个实例,并且提供一个全局访问点。 单例模式要隐藏构造方法,属于创建型模式。 常见的单例模式有四种:饿汉式单例,懒汉式单例,注册式单例,ThreadLocal单例。 1,饿汉式单例 在单例类首次加载的时候就创建实例。 缺点:浪费内存。 package com.gupaoedu.vip.pattern.singleton.hungry; /**...原创 2019-10-13 15:00:16 · 154 阅读 · 0 评论