设计模式理解 - 面向行为的模式

【Template 模板模式】

定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中。

最简单的例子是抽象类中的抽象方法,尽管在抽象类中其他方法可以使用(重复使用)这些抽象方法,但是抽象方法没有方法内容,真实执行效果需要由子类实现。这就是一种模板的体现。

【Memento 备忘录模式】

用于需要“保护现场”和“恢复现场”的地方。

通过构造一个与现场环境“属性同构”的类,把现场的数据保存到这个类中,然后在需要恢复时从这个类得到现场环境的数据。

【Visitor 模式】

用来解决多种角色(对象)类型的(权限)判断问题。

它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作。说白了就是通过接口把对类的属性访问和行为访问分离开。 

需要一个 Visitable “可访问的”接口定义,声明一个 accept() “接受访问”的方法。

需要一个 Visitor “访问者”接口定义。

定义一个 implements Visitable 的“可访问的物件”(被访者)类,它的 accept() 行为内容是:
public void accept(Visitor visitor) {...}

定义一个 implements Visitor 的“访问者”实现类。它使用如下代码访问“被访者”类:

Object o = ...........;
if (o instanceof Visitable)
  ((Visitable)o).accept(this);

你可能感兴趣的:(设计模式)