CSC/ECE 517 Summer 2008/wiki3 3 dm: Difference between revisions
Line 3: | Line 3: | ||
===Pattern Definitions=== | ===Pattern Definitions=== | ||
[http://www.smallmemory.com/almanac/Martin98.html Acyclical Vistor] | [http://www.smallmemory.com/almanac/Martin98.html Acyclical Vistor] A more robust version of the more traditional visitor pattern, it defines operations to be performed on an object without adding them to the class itself or the class hierarchy. This can be useful if one needs to build handling or transformation functions that would otherwise not be a part of that class hierarchy. This visitor would be a valuable addition to our hierarchy as it becomes useful in any situation where the class contains information needed in a program but not in the form that is needed or otherwise needs to be operated. Avoids the dependency loops that can otherwise result in Vistor or other rigid designs. | ||
[http://www.smallmemory.com/almanac/Sommerlad96.html Command Processor] | [http://www.smallmemory.com/almanac/Sommerlad96.html Command Processor] |
Revision as of 22:52, 25 July 2008
Problem Description
Patterns Almanac. Peruse the Patterns Almanac for additional patterns that seem appropriate to cover in CSC/ECE 517. Explain why the patterns are appropriate for students to learn, and if possible, link to training materials (explanations, examples, etc.) for covering them. Your reviewers should rate your choices on how much value they will add to the course!
Pattern Definitions
Acyclical Vistor A more robust version of the more traditional visitor pattern, it defines operations to be performed on an object without adding them to the class itself or the class hierarchy. This can be useful if one needs to build handling or transformation functions that would otherwise not be a part of that class hierarchy. This visitor would be a valuable addition to our hierarchy as it becomes useful in any situation where the class contains information needed in a program but not in the form that is needed or otherwise needs to be operated. Avoids the dependency loops that can otherwise result in Vistor or other rigid designs.