访问者模式 - 章节
概念
. 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