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模式。
浙公網安備 33010602011771號