Clasificarea șabloanelor de proiectare. GoF – prima încercare
May 15th, 2013 | By Dumitru | Category: Proiectare și programareUna 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 redării. Şi totuşi autorii 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 |
|
|
|
Object |
|
|
|
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”.