第十二章节 - 访问者模式

 

访问者模式 - 章节

 

概念
. Separate Algorithm from Object
. Adding new features
. Maintain Open/Closed principle
. Visitor changes
. Examples:
. java.lang.model.element.Element
. java.lang.model.element.ElementVisitor


设计注意事项
Interface based
Visitor and Element
Elements have visit method
Visitor knows every Element
Visitor, ConcreteVisitor, Element, ConcreteElement


UML图

 

例子:Order

 

练习:访问者模式
Code Without
Visitor, Element, ConcreteVisitor, ConcreteElement

 

陷阱
▪适应性计划
▪间接有点混乱
▪适配器模式


对比

访问者模式
▪ Interfaced based
▪ Externalized changes 外部化的变化
▪ Multiple visitors

迭代器模式
▪ Interfaced based / Anonymous
▪ Encapsulates 封装
▪ Singular 奇异


访问者模式总结
•希望改变
•小复杂
•具体化变化

 

下一个是什么? • Design Patterns in Java:Creational • Design Patterns in Java:Structural • maven-fundamentals - Next • spring-fundamentals • springmvc-intro • spring-mvc4-introduction • spring-ipa-hibernate • spring-security-fundamentals