Dienstag, 10. März 2009

The Design Patterns Smalltalk Companion

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: