CSC/ECE 517 Summer 2008/wiki3 3 dm: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 5: Line 5:
[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 visitor or other rigid designs.   
[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 visitor or other rigid designs.   


[http://www.smallmemory.com/almanac/Sommerlad96.html Command Processor]
[http://www.smallmemory.com/almanac/Sommerlad96.html Command Processor]A more complex version of the command pattern, it is defined by creating an object to encapsulate a request.  It allows you to create parameters for the methods that go with the request, allow for customization based on the client.  This pattern allows for scheduling requests and creating queues. This pattern can handle many different 'clients', creating a very versatile request and handling engine.  A good example would be an object that handles request for locks or encryption.


[http://www.smallmemory.com/almanac/Meszaros95.html Half-Object+Protocol]
[http://www.smallmemory.com/almanac/Meszaros95.html Half-Object+Protocol]

Revision as of 02:45, 26 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 visitor or other rigid designs.

Command ProcessorA more complex version of the command pattern, it is defined by creating an object to encapsulate a request. It allows you to create parameters for the methods that go with the request, allow for customization based on the client. This pattern allows for scheduling requests and creating queues. This pattern can handle many different 'clients', creating a very versatile request and handling engine. A good example would be an object that handles request for locks or encryption.

Half-Object+Protocol

Pipes and Filters

Wrapper Facade

Related Links