The Design Patterns Smalltalk Companion
excerpts:
http://stephane.ducasse.free.fr/FreeBooks/SmalltalkDesignPatternCompanion/
page 223
Behavioral Patterns
1. Chain of Responsibility : Avoid coulping the sender of a request to its receiver by giving more than ONE object a chance to handle the request. chain the receiving objects, and pass the request along the chain until an object handles it.
2. Command : Encapsulate a request or operation as an object, thereby letting you parameterize clients with different operations, queue or log requests, and support un-doable operations.
3. Interpreter : given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language.
4. Iterator : Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.
5. Mediator : Define an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently.
6. Memento : Without violating encapsulation, capture and externalize an object's internal state so that the object can be restored to this state later.
7. Observer : Define a one-to-many dependency between objects so that when ONE object changes state, ALL its dependents are notified and updated automatically.
8. State : Allow an object to alter its behavior when its internal state changes. The object will appear to change its class.
9. Strategy : Define a family of algorithms, encapsulate EACH one in a separate class, and define EACH class with the SAME interface so they can be interchangeable.
Strategy lets the algorithm vary independently from clients that use it.
10. Template Method : Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses RE-define certain steps of an algorithm without changing the algorithm's structure.
11. Visitor : Represent an operation to be performed on the elements of an object structure in a class separate from the elements themselves.
Visitors lets you define a NEW operation WITHOUT changing the classes of the elements on which it operates.
Keine Kommentare:
Kommentar veröffentlichen