设计模式
超人很能飞
这个作者很懒,什么都没留下…
展开
-
设计模式之观察者模式
文章目录什么是观察者模式观察者模式包含的四个角色使用场景观察者模式的实现编写一个测试类 什么是观察者模式 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。 观察者模式包含的四个角色 抽象被观察者角色:也就是一个抽象主题,它把所有对观察者对象的引用保存在一个集...原创 2019-12-14 15:26:44 · 108 阅读 · 0 评论 -
设计模式装饰器模式
文章目录什么是装饰器模式装饰器模式代码实现 什么是装饰器模式 按照单一职责原则,某一个对象只专注于干一件事,而如果要扩展其职能的话,不如想办法分离出一个类来“包装”这个对象,而这个扩展出的类则专注于实现扩展功能。 装饰器模式就可以将新功能动态地附加于现有对象而不改变现有对象的功能。 使用场景: 运行时,你需要动态地为对象增加额外职责时; 当你需要一个能够代替子类的类,借助它提供额外方法时。 装...原创 2019-12-14 14:45:15 · 154 阅读 · 0 评论 -
设计模式之适配器模式
文章目录什么是适配器模式类适配器 什么是适配器模式 适配器存在于不匹配的两者之间,用于两者连接.类似于转接头,转换器之类的. 适配器模式分为 类适配器 / 对象适配器 / 接口适配器. 类适配器 原理:通过继承来实现适配器功能。 当我们要访问的接口A中没有我们想要的方法 ,却在另一个接口B中发现了合适的方法,我们又不能改变访问接口A,在这种情况下,我们可以定义一个适配器p来进行中转,这个适配器p要...原创 2019-12-14 14:24:21 · 81 阅读 · 0 评论 -
设计模式之委派模式
文章目录委派模式的定义委派模式实例 委派模式的定义 负责调度任务和分配任务.跟代理模式有些相似,代理模式注重过程,而委派模式注重结果. boss把任务给leader,而leader做了一个任务的分配和调度的工作,自己没有做工作,而是把具体工作交给具体的执行者去做。 委派模式实例 执行的接口 /** * @Project: spring * @description: 执行的接口 * @Mo...原创 2019-12-02 18:05:24 · 159 阅读 · 0 评论 -
设计模式之模板模式
文章目录模板模式定义 模板模式定义 每一件事情有固定的步骤,但是步骤的具体实现不同,在父类中完成该事情的总方法,具体的细节有子类完成. 模板方法有两个角色组成: 抽象父类: 事情的总方法 具体类: 具体执行总方法的实现细节的子类 定义一个抽象父类: public abstract class Account { /** * 模板方法,计算利息数额 * @return ...原创 2019-12-02 17:44:08 · 99 阅读 · 0 评论 -
设计模式之策略模式
文章目录策略模式介绍策略模式的实现策略模式的实现 策略模式介绍 当我们的代码中出现好多if…else…或者case的时候,代码看起来会很多很臃肿,策略模式就能很好的解决这个问题. 使用场景: 1.针对同一类型问题的多种处理方式,仅仅是具体行为有差别时; 2.需要安全地封装多种同一类型的操作时; 3.出现同一抽象类有多个子类,而又需要使用 if-else 或者 switch-case 来选择具体子类...原创 2019-12-02 17:18:22 · 121 阅读 · 0 评论 -
设计模式之代理模式
文章目录代理模式的定义代理模式的分类静态代理动态代理CGLIB代理 代理模式的定义 给当前对象提供一个代理对象,由改代理对象持有原有对象的引用(帮原有对象干活).就像我们生活中的中介一样. 代理模式的分类 静态代理 动态代理 Cglib代理 静态代理 创建一个服务接口类 package main.java.proxy; public interface BuyHouse { voi...原创 2019-12-02 16:08:11 · 110 阅读 · 0 评论 -
设计模式之原型模式
文章目录什么是原型模式深克隆与浅克隆原型模式的结构 什么是原型模式 用已经创建的实例作为原型,通过复制该原型来创建新的对象.就像名人的影分身术一样简单. 深克隆与浅克隆 浅克隆 如果原型对象的成员变量是值类型(八大基本类型,byte,short,int,long,char,double,float,boolean).那么就直接复制,如果是复杂的类型,(枚举,String,对象)就只复制对应的内...原创 2019-12-02 15:13:16 · 119 阅读 · 0 评论 -
设计模式之单例模式
单例模式在我们日常使用中可能接触不多,但是一提到spring,我们在日常工作中每天都是接触到单例模式,此文给了关于单例模式的8种写法,(一般为六种,这里细分了). 饿汉式(静态常量) 饿汉式(静态代码块) 懒汉式(线程不安全) 懒汉式(线程安全,同步方法) 懒汉式(线程安全,同步代码块) 双重检查锁 静态内部类 枚举 单例模式要求类能够有返回对象的一个引用(并且永远是同一个)和一个获得该实例的...原创 2019-12-02 11:09:36 · 89 阅读 · 0 评论 -
设计模式之工厂模式(简单工厂/工厂方法/抽象工厂)
文章目录什么是工厂模式简单工厂模式 什么是工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。简单的说就是使用一个共同的接口来指向新创建的对象。 本文章主要阐述工厂模式的三种实现方法,即简单工厂/工厂方法/抽象工厂,下面一一举例. 简单工厂模式 首先我要说的是简单工厂不属于23种设计模式之一, ...原创 2019-11-29 15:51:39 · 169 阅读 · 0 评论