Modele abstracte de design




. Paradigma MVC (Model-View-Controller)
Paradigma MVC este un mod de a împărţi aplicaţia, în trei părţi: modelul, vederea, şi controlerul.
Justificarea folosirii paradigmei în aplicaţia de faţă:
- aceeaşi aplicaţie trebuie să ofere vederi diferite asupra aceluiaşi set de date
- aceleaşi date trebuie să fie prelucrate în urma unor interacţiuni succesive venite de la client
- suportarea mai multor vederi şi interacţiuni cu clienţii nu trebuie să influenţeze componentele care oferă funcţionalitatea principală a aplicaţiei
. Abstract Factory Pattern
Este folosit când se doreşte obţinerea mai multor module produs cu ajutorul unor module "fabrică". Există o componentă abstractă care defineşte interfaţa şi eventual un anumit comportament, şi mai multe componente ("fabrici") care îi extind funcţionalitatea şi îi implementează interfaţa. Acestea din urmă sunt cele care furnizează componentele produs.



. Singleton Pattern
Este folosit cand se doreste obtinerea unei singure instante a unei clase. Acest lucru se realizeaza in felul urmator:constructorul clasei se face privat, se implementeaza o metoda care verifica daca exista o instanta a clasei, daca da, il returneaza, altfel o instantiaza.


. Observer Pattern
Este folosit cand o clasa Observable asculta mai multe clase Observer care actioneaza asupra unui model de date comun.Cand starea modelului se schimba Observer isi notifica ascultatorii apeland metoda notifyObservers() pentru fiecare ascultator din lista ascultatorilor.