JAVA设计模式
小码农ovo
这个作者很懒,什么都没留下…
展开
-
JAVA设计模式之职责链模式
职责链模式——请求的链式处理 职责链模式通过建立一条链来组织请求的处理者,请求将沿着链进行传递,请求发送者无须知道请求在何时、何处以及如何被处理,实现了请求发送者与处理者的解耦。在软件开发中,如果遇到有多个对象可以处理同一请求时可以应用职责链模式,例如在Web应用开发中创建一个过滤器(Filter)链来对请求数据进行过滤,在工作流系统中实现公文的分级审批等等,使用职责链模式可以较好地...原创 2018-12-29 11:30:35 · 364 阅读 · 1 评论 -
JAVA设计模式之外观模式
外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便。 不知道大家有没有比较过自己泡茶和去茶馆喝茶的区别,如果是自己泡茶需要自行准备茶叶、茶具和开水,如图A所示,而去茶馆喝茶,最简单的方式就是跟茶馆服务员说想要一杯什么样的茶,是铁观音、碧...原创 2019-01-03 17:34:59 · 203 阅读 · 0 评论 -
JAVA设计模式之抽象工厂模式
在学习 抽象工厂模式时,我们先需要了解两个概念:产品等级结构:产品等级结构即产品的继承结构,如一个抽象类是电视机,其子类有海尔电视机、海信电视机、TCL电视机,则抽象电视机与具体品牌的电视机之间构成了一个产品等级结构,抽象电视机是父类,而具体品牌的电视机是其子类。产品族:在抽象工厂模式中,产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组产品,如海尔电器工厂生产的海尔电视机、海...原创 2018-12-29 16:28:26 · 802 阅读 · 0 评论 -
JAVA设计模式之单例模式
单例模式——确保对象的唯一性。下面有四种方法实现单例模式并做了验证。1.普通的单例模式//普通的单例模式,将构造函数设置为private,singleton = null在getSingleton()方法判断是返回已有的实例化对象还是新建对象public class Singleton { private String otherProperty; private...原创 2018-12-29 16:46:37 · 160 阅读 · 0 评论 -
JAVA设计模式之原型模式
原型模式——克隆对象对象的克隆有浅克隆和深克隆。1.浅克隆 在浅克隆中,如果原型对象的成员变量是值类型,将复制一份给克隆对象;如果原型对象的成员变量是引用类型,则将引用对象的地址复制一份给克隆对象,也就是说原型对象和克隆对象的成员变量指向相同的内存地址。public class User { private String name; private int ...原创 2018-12-29 17:46:17 · 238 阅读 · 0 评论 -
JAVA设计模式之代理模式
代理模式:给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问。代理模式的结构比较简单,其核心是代理类,为了让客户端能够一致性地对待真实对象和代理对象,在代理模式中引入了抽象层,代理模式结构如下图所示:(1)Subject(抽象主题角色):它声明了真实主题和代理主题的共同接口,这样一来在任何使用真实主题的地方都可以使用代理主题,客户端通常需要针对抽象主题角色进行编程 。...原创 2019-01-04 11:45:07 · 181 阅读 · 0 评论 -
JAVA设计模式之组合模式
组合模式——树形结构的处理。(常见的树形结构例如:系统的目录结构)组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。场景:Sunny软件公司欲开发一个杀毒(AntiVir...原创 2019-01-02 11:37:54 · 230 阅读 · 0 评论 -
JAVA设计模式之装饰模式
装饰模式——扩展系统功能装饰模式(Decorator Pattern):动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。场景:Sunny软件公司基于面向对象技术开发了一套图形界面构件库VisualComponent,该构件库提供了大量基本构件,如窗体、文本框、列表框等,由于在使用该构件库时,用户经常要求定制一些特效显示效...原创 2019-01-03 15:00:40 · 170 阅读 · 0 评论