8. Compound Patterns

These patterns are composed from others, and the original patterns are visible from the outside and being used for their intended purpose. Because compound patterns consist of several others, they can usually be classified into several categories at once, and this is why they are in a separate group.

Model/View/Controller (MVC)

Purpose: provide multiple, dynamic views on shared data and dynamically change responses to user input.

Flexibility: add/remove views, change response.

Implementation: combination of observer, strategy, composite.

Bureaucracy

Purpose: organize a hierarchical structure of objects such that it maintains its inner consistency by itself.

Flexibility: extend hierarchy, extend and shift responsibilities.

Implementation: combination of composite, observer, chain of responsibility.

Previous group Next group Back to the top