设计模式
wbb9019
这个作者很懒,什么都没留下…
展开
-
设计模式(十):模板模式
概述 模板模式通常又叫模板方法模式(Template Method Pattern)是指定义一个算法的骨架,并允许子类为一个或多个步骤提供实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤,属于行为性设计模式。 如何实现 一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。 各子类中公共的行为被提取出来并集中到一个公共的父类中,从而避免代码重复。 情景模拟 比...原创 2019-05-15 00:20:29 · 96 阅读 · 0 评论 -
设计模式(九):原型模式
文章目录概述代码模拟总结浅克隆深克隆值传递与引用传递值传递引用传递 概述 原型模式(Prototype Pattern)是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。调用者不需要知道任何创建细节,不调用构造函数。 代码模拟 场景是需要获取同一个姓名的20个学生实例。 创建学生,根据姓名获取学生的时候需要去数据库查询获取学生的分数,耗时100ms public class Stu...原创 2019-05-15 00:19:20 · 205 阅读 · 0 评论 -
设计模式(八):观察者模式
设计模式(八):观察者模式 概述 观察者模式(Observer Pattern)定义了对象之间的一对多依赖,让多个观察者对象同时监听一个主体对象,主体对象发生变化时,它的所有依赖者(观察者)都会收到通知并更新。 场景介绍 定义一个观察者接口类,同时写两个实现类,作为两种观察者 public interface Observer { void update(String state); } ...原创 2019-05-15 00:14:43 · 91 阅读 · 0 评论 -
设计模式(七):代理模式
设计模式(七):代理模式 目录 文章目录设计模式(七):代理模式目录概述静态代理场景介绍总结和装饰器的区别静态代理的优缺点优点缺点动态代理JDK实现动态代理场景介绍总结实现原理CGLIB实现动态代理总结JDK VS CGLIB区别 概述 为什么我可以去做这件事情但是非要代理类去做?例如办理签证,手续相当复杂,一般会选择把材料寄过去,由别人代理办理然后寄过来,代理的好处自然就是提高效率。、 从代码的...原创 2019-05-15 00:13:24 · 104 阅读 · 0 评论 -
设计模式(六):策略模式
设计模式(六):策略模式 目录 文章目录设计模式(六):策略模式目录概述场景介绍总结策略模式 + 委派模式总结 概述 将不同的内部算法封装成不同策略,调用者可以根据在调用的时候主动控制不同策略,实现同一功能。例如:登录这个功能,系统内部支持多种策略:手机验证码,用户名密码,微信号,QQ号登录等。 场景介绍 登录接口,有个login方法 public interface Login { vo...原创 2019-05-15 00:05:57 · 134 阅读 · 0 评论 -
设计模式(五):委派模式
设计模式(五):委派模式 目录 文章目录设计模式(五):委派模式目录概述场景介绍总结对比 概述 委派模式主要用于任务分发调度派遣。委派者是连接任务执行者和调用者媒介。既然媒介它必然需要包含所有执行者的引用对象,在根据调用者的输入选择适当的执行者去执行,委派和代理模式中的静态代理有很多相似的地方,持有执行者的对象引用,具体业务都是执行者来执行。 场景介绍 整天的业务场景是一个项目经理管理和两个成员共...原创 2019-05-15 00:03:51 · 147 阅读 · 0 评论 -
设计模式(四):装饰器模式
设计模式(四):装饰器模式 目录 文章目录设计模式(四):装饰器模式目录装饰器模式的特点举例 装饰器模式的特点 为了某个实现类在不修改原始类的基础上进行动态地覆盖或者增加方法,持有原始类的引用 同源,该实现保持跟原有类的层级关系。 举例 首先我们定义Drink接口,包含一个taste方法,返回这个喝的味道怎么样 public interface Drink { String tast...原创 2019-05-14 23:23:56 · 162 阅读 · 0 评论 -
设计模式(三):适配器模式
设计模式(三):适配器模式 之前写了两篇,反思了下怎么才算真正理解设计模式,觉得只要可以举个例子让大家明白,就算真正理解了,所以设计模式离不开场景,这里就给大家举个形象的例子,帮助大家理解适配器模式。 目录 文章目录设计模式(三):适配器模式目录类适配器场景介绍总结使用场景对象适配器场景介绍总结 类适配器 场景介绍 首先先介绍下自己,Java技能包括基础和web,我学的是java,所以实现了该接口...原创 2019-05-14 23:15:27 · 157 阅读 · 0 评论 -
设计模式(二):工厂模式
设计模式(二):工厂模式 文章目录设计模式(二):工厂模式简单工厂概述代码模拟总结工厂模式概述代码模拟总结抽象工厂模式概述代码模拟总结 简单工厂 概述 简单工厂适用于工厂类负责创建的对象较少的场景,且客户端只需要传入工厂类的参数,对于如何创 建对象的逻辑不需要关心。 代码模拟 首先定义一个接口Car,包含一个drive的方法 public interface Car { void dr...原创 2019-05-14 23:10:45 · 332 阅读 · 0 评论 -
设计模式(一):单例模式
运用场景 一个类在全局只需要一个实例,例如线程池,缓存注册或者配置对象。 实现方式 饿汉式单例 原理 它是在类加载的时候就立即初始化,并且创建单例对象。 优点 实现简单,绝对线程安全,在线程还没出现以前就实例化了没有加任何的锁,执行效率高 缺点 如果该类实例化需要加载大量资源,创建比较耗时,类加载的时候无论之后用没用到都会初始化,浪费了内存空间 测试代码 /** * @author X3471...原创 2019-05-15 08:56:50 · 177 阅读 · 0 评论