无废话C#设计模式之二十一:Visitor
2009-04-02 08:22:55 来源:WEB开发网核心提示: 实现要点l 每个元素都需要设置Accept()方法来接受访问者,l 两次多态分发,无废话C#设计模式之二十一:Visitor(4),确定访问者以及访问者中的方法,l 如果一个结构层次中有多个类型的元素,l 访问者模式第二个缺点是需要过多暴露对象的内部元素,否则访问者难以对对象进行实质性的操
实现要点
l 每个元素都需要设置Accept()方法来接受访问者。
l 两次多态分发,确定访问者以及访问者中的方法。
l 如果一个结构层次中有多个类型的元素,那么可以通过一个ObjectStructure的角色进行封装。
注意事项
l 访问者模式一个主要的缺点就是难以扩展对象结构,其实,这点是可以通过一些变化进行化解的。
l 访问者模式第二个缺点是需要过多暴露对象的内部元素,否则访问者难以对对象进行实质性的操作。
l 第三个缺点是需要实现考虑到这样的需求并且提前设置接受访问者的方法。
系列文章:
无废话C#设计模式之一:开篇
无废话C#设计模式之二:Singleton
无废话C#设计模式之三:Abstract Factory
无废话C#设计模式之四:Factory Method
无废话C#设计模式之五:Prototype
无废话C#设计模式之六:Builder
无废话C#设计模式之七:Adapter
更多精彩
赞助商链接