Difference between revisions of "Visitor"
Jump to navigation
Jump to search
Sfrancisco (talk | contribs) (Created patlet for pattern) |
Sfrancisco (talk | contribs) (Added category) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
{{Infobox_designpattern | {{Infobox_designpattern | ||
|image= <!-- Provide the filename of the image to be displayed (e.g., Design_pattern.png) --> | |image= <!-- Provide the filename of the image to be displayed (e.g., Design_pattern.png) --> | ||
|contributor= | |contributor= [[Erich Gamma]], [[Richard Helm]], [[Ralph Johnson]], [[John Vlissides]] | ||
|source= Gamma, Helm, Johnson & Vlissides (1995)<ref name="Gamma">Gamma, E., Helm, R., Johnson, R. | |source= Gamma, Helm, Johnson & Vlissides (1995)<ref name="Gamma">Gamma, E., Helm, R., Johnson, R. & Vlissides, J. (1995). ''[http://dl.acm.org/citation.cfm?id=186897 Design Patterns: elements of reusable object-oriented software.]'' Addison-Wesley: Boston, MA.''ISBN 0-201-63361-2.''</ref>, Visitor Pattern (2016)<ref name="Visitor">Visitor Pattern. (2016). Retrieved October 4, 2016 from http://c2.com/cgi/wiki?VisitorPattern.</ref> | ||
|dataanalysis= <!-- If applicable, list of data analyses used for mining the pattern separated by a " , "comma --> | |dataanalysis= <!-- If applicable, list of data analyses used for mining the pattern separated by a " , "comma --> | ||
|domain= <!-- Learning domain the design pattern belongs to (e.g., General, Math, Algebra) --> | |domain= <!-- Learning domain the design pattern belongs to (e.g., General, Math, Algebra) --> | ||
Line 14: | Line 14: | ||
}} | }} | ||
Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates.<ref name="Gamma"/><ref name="Visitor"/> | Represent an operation to be performed on the elements of an object structure. {{Patternlink|Visitor}} lets you define a new operation without changing the classes of the elements on which it operates.<ref name="Gamma"/><ref name="Visitor"/> | ||
Line 66: | Line 66: | ||
<references/> | <references/> | ||
[[Category:Design_patterns]] <!-- List of other categories the design pattern belongs to. The syntax for linking to a category is: [[Category:<Name of category]] --> | [[Category:Design_patterns]] [[Category:Patlet]] [[Category:Software Design Patterns]]<!-- List of other categories the design pattern belongs to. The syntax for linking to a category is: [[Category:<Name of category]] --> |
Latest revision as of 07:14, 17 May 2017
Visitor | |
Contributors | Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides |
---|---|
Last modification | May 17, 2017 |
Source | Gamma, Helm, Johnson & Vlissides (1995)[1], Visitor Pattern (2016)[2] |
Pattern formats | OPR Alexandrian |
Usability | |
Learning domain | |
Stakeholders |
Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates.[1][2]
Context
Problem
Forces
Solution
Consequences
Benefits
Liabilities
Evidence
Literature
Discussion
Data
Applied evaluation
Related patterns
Example
References
- ↑ 1.0 1.1 Gamma, E., Helm, R., Johnson, R. & Vlissides, J. (1995). Design Patterns: elements of reusable object-oriented software. Addison-Wesley: Boston, MA.ISBN 0-201-63361-2.
- ↑ 2.0 2.1 Visitor Pattern. (2016). Retrieved October 4, 2016 from http://c2.com/cgi/wiki?VisitorPattern.