
设计模式
phil002
这个作者很懒,什么都没留下…
展开
-
【设计模式】一、设计模式七大原则
一、开闭原则 含义 当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 作用 开闭原则是面向对象程序设计的终极目标,它使软件实体拥有一定的适应性和灵活性的同时具备稳定性和延续性。具体来说,其作用如下。 对软件测试的影响 软件遵守开闭原则的话,软件测试时只需要对扩展的代码进行测试就可以了,因为原有的测试代码仍然能够正常运行。 可以提高代码的可...原创 2019-08-30 17:05:17 · 531 阅读 · 0 评论 -
【设计模式】四、观察者模式
package zzq.designpatterns.behavioralpattern; import java.util.ArrayList; import java.util.List; /** * 观察者(ObserverTest)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型...原创 2019-08-30 17:29:55 · 144 阅读 · 0 评论 -
【设计模式】五、适配器模式
package zzq.designpatterns.structuralpattern; /** * 适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。 *...原创 2019-08-30 17:28:12 · 189 阅读 · 0 评论 -
【设计模式】二、代理模式
package zzq.designpatterns.structuralpattern; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.re...原创 2019-08-30 17:26:45 · 256 阅读 · 0 评论 -
【设计模式】七、原型模式
Prototype.java package zzq.designpatterns.creativepattern; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import zzq.utils.CloneUtils; ...原创 2019-08-30 17:24:54 · 315 阅读 · 0 评论 -
【设计模式】三、单例模式
package zzq.designpatterns.creativepattern; import lombok.Data; /** * 单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。 * 例如,Windows 中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费, * 或出现各个窗口显示内容的不一致等错误...原创 2019-08-30 17:19:34 · 583 阅读 · 0 评论 -
【设计模式】八、组合模式
package zzq.designpatterns.structuralpattern; import java.util.ArrayList; /** * 组合(Composite)模式的定义:有时又叫作部分-整体模式,它是一种将对象组合成树状的层次结构的模式,用来表示“部分-整体”的关系,使用户对单个对象和组合对象具有一致的访问性。 * <p> * 组合模式的主要优点有...原创 2019-08-30 17:34:47 · 181 阅读 · 0 评论 -
【设计模式】九、外观模式
package zzq.designpatterns.structuralpattern; /** * 外观(Facade)模式的定义:是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。 * <p> * 外观(Facade...原创 2019-08-30 17:36:03 · 156 阅读 · 0 评论 -
【设计模式】六、装饰模式
package zzq.designpatterns.structuralpattern; /** * 装饰(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。 * <p> * 装饰(Decorator)模式的主要优点有: * 采用装饰模式扩展对象的功能比采用继承方式更加灵活。 * 可...原创 2019-08-30 17:37:03 · 130 阅读 · 0 评论 -
【设计模式】十、责任链模式
package zzq.designpatterns.behavioralpattern; /** * 责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。 * <p> * 注意:责任链模式...原创 2021-04-17 16:24:33 · 183 阅读 · 0 评论 -
【设计模式】十一、命令模式
package zzq.designpatterns.behavioralpattern; /** * 命令(CommandPattern)模式的定义如下:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。 * <p> * 命令模式的主要优点如下。 * 降低系统的耦合度。命令...原创 2021-04-17 16:24:50 · 170 阅读 · 0 评论