读书人

访问者形式Visitor读书笔记

发布时间: 2012-10-09 10:21:45 作者: rapoo

访问者模式Visitor——读书笔记
interface Visitor {
 void visit(Gladiolus g);
 void visit(Runuculus r);
 void visit(Chrysanthemum c);
}

interface Flower{
 void accept(Visitor v);
}

class Gladiolus implements Flower {
 public void accept(Visitor v) { v.visit(this);}
}

//通过用visitor模式的写法
Visitor vst;
List<Flower> flowers = new ArrayList<Flower>();
Iterator<Flower> it = flowers.iterator();
while(it.hasNext()) {
   it.next().accept(vst);
//vst.visit(it.next());//同上
}

可以看出针对不同的对象需要Visitor重载visit方法

参考:http://www.iteye.com/topic/114287

读书人网 >软件架构设计

热点推荐