Junior
Ce modele de proiectare cunoașteți?
sobes.tech AI
Răspuns de la AI
-
Crearea
- Metoda fabrică (mod de creare a obiectelor printr-o metodă de fabrică, în loc de direct prin constructor)
- Fabrica abstractă (interfață pentru crearea familiilor de obiecte legate fără a specifica clasele lor concrete)
- Constructor (crearea pas cu pas a obiectelor complexe, permițând obținerea diferitelor variante ale obiectului folosind același cod de construcție)
- Prototip (crearea de noi obiecte prin copierea unui model existent)
- Singleton (garantează că există doar o instanță a clasei și oferă un punct de acces global la ea)
-
Structurale
- Adaptator (permite obiectelor cu interfețe incompatibile să lucreze împreună)
- Pod (separă abstracția de implementare, permițându-le să se schimbe independent)
- Compozit (tratează obiecte individuale și grupuri de obiecte în același mod)
- Decorator (adaugă responsabilități noi obiectelor în mod dinamic)
- Fațadă (oferă o interfață unificată pentru un set de interfețe ale unui subsistem)
- Flyweight (gestionează eficient un număr mare de obiecte mici)
- Proxy (oferă un obiect substitut care controlează accesul la alt obiect)
-
Comportamentale
- Lanț de responsabilități (trimite solicitări de-a lungul unui lanț de gestionari)
- Comandă (încapsulează o solicitare ca obiect, permițând parametrizarea clienților, punerea în coadă a solicitărilor, înregistrarea și suportul pentru anulare)
- Iterator (oferă o modalitate de a accesa secvențial toate elementele unui obiect compus fără a-i dezvălui structura internă)
- Mediator (simplifică interacțiunea între mai multe obiecte introducând un obiect mediator)
- Memento (permite salvarea și restaurarea stării interne a unui obiect fără a-i încălca încapsularea)
- Observator (definește o dependență unu-la-mulți între obiecte, astfel încât atunci când unul se schimbă, toți cei dependenți sunt notificați și actualizați)
- Stare (permite unui obiect să-și schimbe comportamentul atunci când starea internă se schimbă)
- Strategie (definește o familie de algoritmi, îi încapsulează și îi face interschimbabili)
- Metoda șablon (definește scheletul unui algoritm într-o metodă, lăsând subclasele să redefinească anumite pași fără a schimba structura generală)
- Vizitator (permite adăugarea de noi operații la o ierarhie de clase fără a le modifica pe cele existente)
În dezvoltarea Android, se folosesc frecvent modele MVx (MVP, MVVM), precum și modele din biblioteca Android Architecture Components (Room, ViewModel, LiveData, Navigation).