Clasificarea primară Gamma-Helm-Johnson-Vlissides a şabloanelor de proiectare
Una din primele încercări de a clasifica şabloanele au realizat-o chiar autorii cărţii Design Patterns: Elements of Reusable Object-Oriented Software(Gamma, Helm, Johnson şi Vlissides, 1995). Desigur clasificarea aici este, mai degrabă, ca suport al organizării, decât suport al înţelegerii. Şi totuşi autorii ne oferă două criterii pentru completitudinea analizei: intenţie/scop(purpose) şi domeniu aplicare (scope) pentru organizarea catalogului de şabloane:
| Purpose | ||||
|---|---|---|---|---|
| Creational | Structural | Behavioral | ||
| Scope | Class | Factory Method | Adapter | Interpreter Template Method |
| Object | Abstract Factory Builder Prototype Singleton |
Adapter Bridge Composite Decorator Facade Proxy |
Chain of Responsibility Command Iterator Mediator Memento Flyweight Observer State Strategy Visitor |
|
Sursa: Design Patterns Elements of Reusable Object-Oriented Software (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides).
Clasificarea GoF este „valabilă” şi astăzi, dar superficialitatea criteriilor care au stat la baza clasificării ridică uneori semne de întrebare la mulţi asupra localizării unor şabloane într-o grupă sau alta. Alan Shalloway, unul din autorii cărţii Design Patterns Explained. A new perspective on Object-Oriented Design (2000), iniţial a fost complet derutat de clasificarea prezentată de GoF şi menţiona:
When I first started studying design patterns, I was surprised to see the Bridge and Decorator patterns were structural patterns rather than behavioral patterns. After all, they seemed to be used to implement different behaviors. At the time, I simply did not understand the GoF’s classification system.
Astfel rând pe rând, au apărut noi şabloane şi sisteme de clasificare ale lor, care completau catalogul GoF fără însă să-i fi şubrezit mult „imaginea”.









Leave your response!