Introducere

Proiectarea orientata pe obiecte a software-ului presupune analiza problemei ce urmeaza a fi rezolvata, identificarea functionalitatilor ce urmeaza a fi implementate, abstractizarea acestora in clase si stabilirea relatiilor dintre acestea.

Soluţia trebuie să rezolve problema şi să fie în acelaşi timp suficient de flexibilă pentru a rezista la noi cerinţe şi probleme ce pot apare în timp.

La fel cum in alte domenii ingineresti exista solutii standard pentru rezolvarea unor probleme standard, in proiectarea software exista o serie de solutii definite, acceptate si adoptate in scopul rezolvarii unor tipuri de probleme. Aceste solutii se numesc sabloane de proiectare (eng. design patterns).

In ingineria software, un sablon de proiectare este o solutie general acceptata pentru rezolvarea unei probleme standard. Un sablon de proiectare nu este o componenta software care poate fi preluata si transpusa direct in cadrul unui program, ci este un sablon care arata cum trebuie abordata si rezolvata o anumita problema. Acest sablon trebuie adaptat si customizat pentr problema concreta ce trebuie rezolvata.

Clasificarea sabloanelor de proiectare