在XHTML浏览器的设计中应用composite和visitor模式

visitor模式是什么:
引用:作用於某個物件群中各個物件的操作。 它可以使你在不改變這些物件本身的情況下,定義作用於這些物件的新操作。

Java,Visitor模式實際上是分離了collection結構中的元素和對這些元素進行操作的行爲。

很显然这是一个非常适合在XHTML解析出各个element进行显示处理时使用。把StAX的输出构建出简单的dom,然后这些dom就成为了前面所提的collection解构。draw操作就是visitor
public interface Painter{
 drawxxx(...);
 drawxxy(...);
 drawxyy(...);
}
然后再定义visitable接口
public interface Drawable{
 draw();
}
public class xxx implements Drawable {
 draw(Painter painter ) {
  painter.drawxxx();
}
}
然后再实现Painter,把每个element的绘出操作实现出来就OK了。

composite模式就更简单了,dom本身就是了。DOM下面的节点如果用强类型,那就是composite嘛
也就是那些element实现Drawable操作,element放进一个collection中,变成document。document就应用了composite模式。

原文地址:https://www.cnblogs.com/taowen/p/107086.html