张小强的专栏

好记性不如烂笔头,记录点滴,生活源于积累

设计模式之访问者模式

定义 提供一个作用于某对象结构中的各元素的操作表示,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式是一种对象行为型模式。 UML类图 代码实现 Element.java public interface Element { public v...

2019-05-13 09:09:35

阅读数 10

评论数 0

设计模式之模板方法模式

定义 定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式是一种基于继承的代码复用技术,它是一种类行为型模式。 UML类图 代码实现 AbstractClass.java public abstr...

2019-05-13 09:04:01

阅读数 6

评论数 0

设计模式之策略模式

定义 定义一系列算法类,将每一个算法封装起来,并让它们可以相互替换,策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。策略模式是一种对象行为型模式。 UML类图 代码实现 Strategy.java public abstract class Strategy ...

2019-05-13 09:02:49

阅读数 22

评论数 0

设计模式之状态模式

定义 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。 UML类图 代码实现 State.java public abstract class State { ...

2019-05-13 09:02:04

阅读数 16

评论数 0

设计模式之观察者模式

定义 定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式的别名包括发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Depende...

2019-05-13 09:01:01

阅读数 7

评论数 0

设计模式之备忘录模式

定义 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。它是一种对象行为型模式,其别名为Token。 UML类图 代码实现 Originator.java public class Originator { private...

2019-05-11 10:09:15

阅读数 23

评论数 0

设计模式之中介者模式

定义 用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。 UML类图 代码实现 Mediator.java public abstract class Med...

2019-05-11 10:07:14

阅读数 20

评论数 0

设计模式之迭代器模式

定义 提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor)。迭代器模式是一种对象行为型模式。 UML类图 代码实现 Iterator.java public interface Iterator { public void first(); ...

2019-05-11 10:04:11

阅读数 17

评论数 0

设计模式之解释器模式

定义 定义一个语言的文法,并且建立一个解释器来解释该语言中的句子,这里的“语言”是指使用规定格式和语法的代码。解释器模式是一种类行为型模式。 UML类图 代码实现 Context.java public class Context { private ArrayDeque<...

2019-05-11 10:02:03

阅读数 135

评论数 0

设计模式之命令模式

定义 将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。 UML类图 代码实现 Command.java public abst...

2019-05-11 09:59:05

阅读数 20

评论数 0

设计模式之职责链模式

定义 避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种对象行为型模式。 UML类图 代码实现 Handler.java public abstract class Handler { pr...

2019-05-11 09:55:40

阅读数 14

评论数 0

设计模式之代理模式

定义 给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问。 代理模式是一种对象结构型模式。在代理模式中引入了一个新的代理对象,代理对象在客户端对象和目标对象之间起到中介的作用,它去掉客户不能看到的内容和服务或者增添客户需要的额外的新服务。 远程代理(Remote Proxy):一种...

2019-05-11 09:49:37

阅读数 31

评论数 0

设计模式之享元模式

定义 运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。 UML类图 代码实现 Flyweight.java public c...

2019-05-11 09:46:29

阅读数 15

评论数 0

设计模式之外观模式

定义 为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式又称为门面模式,它是一种对象结构型模式。外观模式是迪米特法则的一种具体实现,通过引入一个新的外观角色可以降低原有系统的复杂度,同时降低客户类与子系统的耦合度。 外观模式中所指的子...

2019-05-11 09:43:06

阅读数 16

评论数 0

设计模式之装饰模式

定义 动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。 UML类图 代码实现 Component.java public abstract class Component { public abstr...

2019-05-11 09:39:32

阅读数 8

评论数 0

设计模式之组合模式

定义 组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。 UML类图 代码实现 Component.java public...

2019-05-10 15:03:11

阅读数 11

评论数 0

设计模式之桥接模式

定义 将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。 UML类图 代码实现 Abstraction.java public abstract class Abstraction { ...

2019-05-10 14:52:35

阅读数 11

评论数 0

设计模式之适配器模式

定义 将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。 根据适配器类与适配者类的关系不同,适配器模式可分为对象适配器和类适配器两种,在对象适配器模式中,适配器与适配者之间是关联关系...

2019-05-10 14:43:15

阅读数 35

评论数 0

设计模式之建造者模式

定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种对象创建型模式。 UML类图 代码实现 Product.java public class Product { private String partA; private String...

2019-05-10 14:29:21

阅读数 39

评论数 0

设计模式之原型模式

定义 将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝自己来实现创建过程。由于在软件系统中我们经常会遇到需要创建多个相同或者相似对象的情况,因此原型模式在真实开发中的使用频率还是非常高的。原型模式是一种“另类”的创建型模式,创建克隆对象的工厂就是原型类自身,工厂方法...

2019-05-10 14:23:14

阅读数 40

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭