首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

访问者形式Visitor——读书笔记

2012-10-09 
访问者模式Visitor——读书笔记interface Visitor { void visit(Gladiolus g) void visit(Runuculus r) vo

访问者模式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

热点排行