Archetype pattern (original) (raw)

The Archetype pattern separates the logic from implementation; the separation is accomplished by there being two abstract classes, a decorator (for logic) and a delegate (for implementation). The Factory handles the mapping of decorator and delegate classes and returns the pair associated with a parameter or parameters passed. The interface is the contract between a decorator, a delegate and the calling class creating an Inversion of Responsibility. This example use two branches however you can have 'N' branches as required. The pattern means that one branch from the interface does not have to worry about how another branch operators as long it implements the interface.

thumbnail