Difference between revisions of "Visitor"

From Open Pattern Repository for Online Learning Systems
Jump to navigation Jump to search
(Edited patlet)
(Added category)
 
(3 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= <!-- List of contributors separated by a " , "comma. This is optional so you can remove this field if there are no contributors -->
|contributor= [[Erich Gamma]], [[Richard Helm]], [[Ralph Johnson]], [[John Vlissides]]
|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.]'' Reading, Massachusetts: Addison-Wesley. ''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>
|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 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 08: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. 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. 2.0 2.1 Visitor Pattern. (2016). Retrieved October 4, 2016 from http://c2.com/cgi/wiki?VisitorPattern.