设计模式
Kevin照墨
这个作者很懒,什么都没留下…
展开
-
深入理解适配器模式
1.总述简而言之,适配器模式,就类似于一个中间转换器。举个例子:现在的系统A已经完成了开发,向客户C提供了统一的接口访问规则;但此时,客户要求添加新的功能,此时开发人员发现已经有第三方系统B实现了这个功能,但是B提供的接口和我们A提供的接口不一致,所以C不能直接通过A的接口直接访问B。于是适配器出现了,A系统直接新增一个实现了A接口的功能对象obj,只是在该对象中持有实现了B接口的对象引...原创 2020-02-25 16:03:41 · 249 阅读 · 0 评论 -
深入理解代理模式及其实现
这里主要是分析如下3种:静态代理、JDK动态代理、CGLIB动态代理1.静态代理按照代理创建的时期,可以分为动态代理和静态代理:静态代理:由程序员或者自动生成工具生成代理类,然后进行代理类的编译和运行。在代理类、委托类运行之前,代理类已经以.class的格式存在。动态代理:在程序运行时,由反射机制动态创建而成。下面举个例子:新建一个接口,UserService.java, 只有一个...原创 2020-02-20 16:36:13 · 290 阅读 · 0 评论 -
观察者模式
参考链接:http://c.biancheng.net/view/1390.html1.定义观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。观察者模式是一种对象行为型模式,其主要优点如下。降低了目标与观察者之间的耦合关系,两者...原创 2020-02-06 11:55:16 · 216 阅读 · 0 评论 -
代理模式和装饰器模式
之所以将这两个放在一起,是因为这两个在功能上优点类似。但是我们这里主要讨论其异同点:功能上来讲:代理模式主要是为了控制对对象的访问。换句话说,用代理模式,代理类(proxy class)可以对它的客户隐藏一个对象的具体信息。而装饰器模式是为了对原有对象进行功能增强。从实现上来讲:代理模式是在代理类中创建并初始化某个被代理的对象,而装饰器模式需要持有外部传入实例对象的引用。从创建时期上来讲...原创 2020-02-04 16:30:23 · 128 阅读 · 0 评论 -
工厂模式
参考链接:https://www.cnblogs.com/yssjun/p/11102162.html一、目的总的来说,工厂模式的主要目的就是用于封装和管理对象的创建过程,对上层的使用者隔离对象创建的过程,之所以要隔离封装这个创建过程,主要是因为:对象创建的过程复杂,使用者不容易掌握(比如对象创建要满足某种条件,但用户无需知晓),从而降低了用户使用代码的重复性以及复杂性对象本身有很多子类...原创 2020-02-06 11:19:08 · 118 阅读 · 0 评论