in HandbookDesign Patterns

1 概述命令模式(Command Pattern),是将请求封装成一系列命令对象,以解耦请求发起者和请求接收者的一种行为模式。2 命令模式正常情况下,请求发送者和请求接收者是相互耦合的,发送者直接调用接收者相关的方法,直接交互。用命令模式进行改造,将两者交互的媒介----命令单独抽离出来,使得...

in HandbookDesign Patterns

1 概述访问者模式(Visitor Pattern)是一种行为模式,不常用。它可以将作用在对象上的算法逻辑,与对象本身分离开来。2 访问者模式当需要对一组相似类型的对象执行操作时,我们可以将操作逻辑分别维护在每个对象内部,但这违背了单一职责原则。访问者模式就是来应对这种情况的:将所有的算法逻辑...

in HandbookDesign Patterns

1 概述模板方法模式(Template Method Pattern)是一种很常见的行为模式。在超类/抽象类中创建一个模板方法,方法中定义一个算法步骤或框架,让子类在不修改主结构的情况下,重写其中的子步骤。2 模板方法模式假如存在一系列对象的方法,他们的步骤是大体一致的,区别只是其中的一个子步...

in HandbookDesign Patterns

1 概述中介者模式(Mediator Pattern)是一种行为模式,通过定义一个中介对象,来管理一系列对象之间的依赖,从而解耦原有对象之间的关系。2 中介者模式大量的对象相互依赖,会大大增加系统复杂度,提高维护成本。中介者模式(Mediator Pattern)是迪米特原则的一个很好体现,它...

in HandbookDesign Patterns

1 概述状态模式(state Pattern)是行为模式之一,一般用在对象的行为依赖于内部状态的场景。2 状态模式考虑一个场景:对象有状态,而且根据状态不同,对象的行为也会不同。对于该情况,最简单的方式是,对状态做if-else或者swith-case判断,根据状态调用相应的行为。但是这种做法...