设计模式
23种设计模式
qq_34352013
ruanwenfu
展开
-
单例设计模式
概述 在运行期间,一个类只有一个实例,这种模式叫做单例模式 n种实现单例模式的写法 饿汉式 优点:线程安全、粗暴 缺点:没有lazing loading 构造方法私有化,不允许外界创建 通过静态方法返回单例对象 类加载时就初始化单例对象 public class Singleton { private static Singleton instance = new Singleton()...原创 2020-11-23 23:48:47 · 68 阅读 · 0 评论 -
适配器模式(adapter)
适配器模式解释适配器的实现方式类适配器 UML类图代码定义客户端定义客户端使用的接口标准定义客户端原本使用的实现类定义另外一个接口标准的实现通过适配器解决协调类适配器UML你看,是吧,通过只有对象类进行调用修改适配器总结 解释 适配器,比如电源适配器。让原本不能用的东西,转换一下,使得他可以适配新的东西; 也就是说比如两个接口不适配的时候,B系统只能通过B接口去调用,A系统只能使用A接口,开发一个...原创 2020-11-23 23:44:53 · 116 阅读 · 0 评论 -
观察者模式(Observer)
作用 当目标的状态发生改变时,会通知观察者,观察者根据自己的情况作出相应的动作。 定义 定义对象之间的一对多依赖关系,使得每一个对象的状态发生改变时,依赖他的所有对象都会收到通知。 其他别名: 发布-订阅模式,模型-视图模式,源-监听器模式以及从属者模式。 这个发布-订阅模式就很好理解,当订阅者订阅了某系列杂志,当杂志有了新的状态,比如更新了,那么此时就会给所有的订阅者发送一条消息,那么所有的订阅...原创 2020-11-23 23:48:06 · 97 阅读 · 0 评论 -
创建型模型——装饰者模式(Decorator Pattern)
定义 我理解的装饰者模式就是1+1+1+1+1+1,做蛋糕 装饰者模式又叫做包装(wrapper)模式。可以层层包装。 不改变原有对象的基础上,将功能附加到对象上,功能扩展。 装饰者模式侧重点不在于方法的流程控制,而是方法本身的动态扩展。代理模式或者继承重写方法的方式在编译时类之间的关系就已经确定的,装饰者模式(wrapper)就像层层包装一样,可以根据需求,动态的给目标方法上 不断动态扩展。 通...原创 2020-11-23 23:31:35 · 85 阅读 · 0 评论 -
创建型模型——代理者模式(Proxy Pattern)
代理模式代理模式的概念相关类图静态代理和动态代理静态代理java动态代理相关APIProxy.newInstance(classLoader,interfaces,invocationHandler)程序实现CGLIB动态代理 代理模式的概念 代理模式在不改变原有类的基础之上,可以对类中的方法进行扩展。其中的核心业务流程还是通过委托类进行完成,但是在业务处理之前可以增加 一个请求过滤,请求校验,业...原创 2020-11-23 23:32:30 · 181 阅读 · 0 评论 -
创建型模型——建造者模式(Builder Pattern)
建造者模式我的理解使用的场景设计实现有抽象的建造者实现方式无抽象的建造者两种不同的建造者适用范围实际应用多参数方法改良(面试可以说)和抽象工厂的区别 我的理解 建造者模式,属于创建型设计模式的一种。顾名思义,就像建房子一样,需要层层组装,一个一个的设置部件,最后返回一个完整的对象。 第一:用来创建复杂对象的 第二:对客户端隐藏了产品复杂的创建细节 第三:就像建房子一样,建造者模式强调层层组装,最后...原创 2020-11-23 23:30:44 · 452 阅读 · 0 评论