您的位置:首页 > 其它

模板模式讲解二

2016-05-22 23:20 337 查看
一、何为模板

在阎宏博士的《JAVA与模式》一书中开头是这样描述模板方法(Template Method)模式的:

  模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。

二、模式结构设计

  父类定义成一个抽象类,有一个具体实现方法,在这个具体实现方法会去调用此抽象类定义的抽象方法,这些抽象方法由子类继承实现,因为不同的业务逻辑是需要由不同的子类完成的。父类的具体实现方法,只是把这些子类的抽象方法执行的共同点抽取出来。有点不好理解,直接看图吧

public class Client {

public static void main(String[] args) {

test_dotemp();
}

public static void test_dotemp() {

List<GoodsDO> target = new ArrayList<GoodsDO>();
List<GoodsDO> orign = new ArrayList<GoodsDO>();
for(int i = 1; i<3; i++) {
GoodsDO p = new GoodsDO();
p.setId(i);
p.setName("ym" + i);
target.add(p);

p = new GoodsDO();
p.setId(i - 1);
p.setName("ym" + (i - 1));
orign.add(p);
}

new  GoodsTempImpl().execute(target, orign);
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: