【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);
定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中。
最简单的例子是抽象类中的抽象方法,尽管在抽象类中其他方法可以使用(重复使用)这些抽象方法,但是抽象方法没有方法内容,真实执行效果需要由子类实现。这就是一种模板的体现。
【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);