This is an old revision of the document!
Un șablon de proiectare descrie o problema care se întâlnește în mod repetat în proiectarea programelor și soluția generala pentru problema respectiva, astfel încât sa poata fi utilizata oricând, dar nu în același mod de fiecare data. Soluția este exprimata folosind claseși obiecte. Atât descrierea problemei cât și a soluției sunt abstracte astfel încât sa poata fi folosite în multe situații diferite. Scopul șabloanelor de proiectare este de a asista rezolvarea unor probleme similare cu unele deja întâlniteși rezolvate anterior. Ele ajuta la crearea unui limbaj comun pentru comunicarea experienței despre aceste problem și soluțiile lor.
Cele 4 elemente cheie care definesc un șablon de proiectare sunt urmatoarele:
1. Numele șablonului de proiectare – având în vedere ca exista multe tipuri de șabloane de proiectare, este important ca fiecaruia sa îi fie aplicat un nume sugestiv, în strânsa legatura cu problema pe care o rezolva, care sa permita identificarea rapida a acestuia și a documentației aferente.
2. Descrierea situatiei în care poate fi aplicat – este foarte important sa știm care sunt situațiile în care putem aplica un șablon de proiectare. De aceea, este nevoie sa se prezinte o descriere a problemei și a contextului în care ar putea sa apara. Aceasta descriere poate fi realizata din perspective diferite:
• Ar putea sa fie o descriere axata pe aspecte specifice de proiectare, cum ar fi modul de reprezentare a diverșilor algoritmi folosind principiile programarii orientate pe obiecte.
• Poate fi realizata o descriere care sa conțina o ierarhie de clase sau o structura de obiecte care sunt implicate în implementarea șablonului de proiectare.
• Uneori, este important sa specificam o lista de condiții care trebuie sa fie îndeplinite pentru a putea aplica șablonul de proiectare. În acest caz, descrierea trebuie sa cont,ina aceasta lista de condiții.
3. Descrierea soluției – descrie elementele care alcatuiesc proiectarea, relațiile, responsabilitațile și colaborarile acestora. Este indicat ca soluția sa nu conțina doar codul complet, ci și o descriere formala a unei problem și modul în care o interacțiune generala a conceptelor (clase și obiecte) poate rezolva problema.
4. Rezultatele și consecințele utilizarii – reutilizarea codului reprezinta, adesea, un factor esențial în programarea orientata pe obiecte, motiv pentru care pentru un șablon de proiectare trebuie sa fie prezentate consecințele pe care le au folosirea acestuia asupra flexibilităț ii, extensibilitații sau portabilitații soluției software.