Modele de design în Java | Tutorial Java Design Patterns
Modelele de proiectare în Java îi ajută pe dezvoltatori să creeze un cod mai ușor de întreținut, mai flexibil și mai ușor de înțeles. Acestea încapsulează expertiza și experiența arhitecților și dezvoltatorilor de software experimentați, făcând mai ușor pentru programatorii mai noi să urmeze cele mai bune practici stabilite.
Ce sunt modelele de design?
Un model de proiectare este o soluție generică repetabilă la o problemă care apare frecvent în proiectarea software, care este utilizată în inginerie software. Nu este un design complet care poate fi scris în cod imediat. Este o descriere sau un model pentru rezolvarea problemelor care poate fi aplicat într-o varietate de contexte.
Tutorial Java Design Patterns
- Ce sunt modelele de design?
- Tipuri de modele de design în Java
- 1. Modele de design creațional în Java
- 2. Modele de proiectare structurală în Java
- 3. Modele de design comportamental în Java
Tipuri de modele de design în Java
Modelele de design Java sunt împărțite în trei categorii -
- creație,
- structurale și
- modele de design comportamental.
1. Modele de design creațional în Java
Modelele de design creațional sunt un subset de modele de design în dezvoltarea de software. Ei se ocupă de procesul de creare a obiectelor, încercând să-l facă mai flexibil și mai eficient. Acesta face sistemul independent și modul în care obiectele sale sunt create, compuse și reprezentate.
Tipuri de modele de design creațional în Java:
1.1 Metoda fabricii
Factory Method este un model de design creațional, care oferă o interfață pentru crearea de obiecte în superclasă, dar subclasele sunt responsabile pentru a crea instanța clasei.
1.2 Metoda abstractă a fabricii
Abstract Factory Method este un model de design creațional, oferă o interfață pentru crearea unor familii de obiecte înrudite sau dependente fără a specifica clasele lor concrete.
1.3 Metoda constructorului
Metoda Builder este un model de design creațional, oferă o interfață pentru construirea unui obiect și apoi are clase de constructori concrete care implementează această interfață pentru a crea obiecte specifice într-o manieră treptată.
1.4 Metoda prototipului
Metoda Prototype este un model de design creațional, care oferă crearea de noi obiecte cu aceeași structură și stare inițială ca un obiect existent, fără a specifica în mod explicit clasa sau detaliile de construcție.
1.5 Metoda Singleton
Metoda Singleton este un model de design creațional, care oferă o clasă are o singură instanță și acea instanță oferă un punct global de acces la ea.
2. Modele de proiectare structurală în Java
Modelele de proiectare structurală sunt un subset de modele de proiectare în dezvoltarea de software care se concentrează pe compoziția claselor sau a obiectelor pentru a forma structuri mai mari și mai complexe. Ele ajută la organizarea și gestionarea relațiilor dintre obiecte pentru a obține o mai mare flexibilitate, reutilizare și mentenanță într-un sistem software.
Tipuri de modele de proiectare structurală în Java:
2.1 Metoda adaptorului
Metoda adaptorului este un model de proiectare structurală, vă permite să faceți două interfețe incompatibile să funcționeze împreună, creând o punte între ele.
2.2 Metoda podului
Bridge Method este un model de proiectare structurală, care asigură proiectarea separați abstracția unui obiect de implementarea sa, astfel încât cele două să poată varia independent.
23 Metoda compozită
Metoda compozită este un model de proiectare structurală, este folosită pentru a compune obiecte în structuri arborescente pentru a reprezenta ierarhii parțial-întreg. Acest model tratează atât obiectele individuale, cât și compozițiile de obiecte, le permite clienților să lucreze cu structuri complexe de obiecte ca și cum ar fi obiecte individuale.
2.4 Metoda decoratorului
Metoda decoratorului este un model de proiectare structurală, i t permite adăugarea de comportament la obiecte individuale, fie static, fie dinamic, fără a afecta comportamentul altor obiecte din aceeași clasă.
2.5 Metoda fațadei
Metoda de fațadă este un model de proiectare structurală, oferă o interfață simplificată, de nivel superior unui set de interfețe dintr-un subsistem, facilitând interacțiunea clienților cu acel subsistem.
2.6 Metoda proxy
Metoda proxy este un model de proiectare structurală, prevede crearea unui substitut pentru un obiect, care poate acționa ca intermediar sau poate controla accesul la obiectul real.
2.7 Metoda cu greutatea muștei
Metoda Flyweight este un model de proiectare structurală, este folosit atunci când trebuie să creăm o mulțime de obiecte dintr-o clasă. Deoarece fiecare obiect consumă spațiu de memorie care poate fi esențial pentru dispozitivele cu memorie redusă, modelul de design Flyweight poate fi aplicat pentru a reduce încărcarea memoriei prin partajarea obiectelor.
3. Modele de design comportamental în Java
Modelele de design comportamental sunt un subset de modele de design în dezvoltarea de software care se ocupă de comunicarea și interacțiunea dintre obiecte și clase. Ei se concentrează pe modul în care obiectele și clasele colaborează și comunică pentru a îndeplini sarcini și responsabilități.
Tipuri de model de design comportamental în Java:
3.1 Metoda de comandă
Metoda de comandă este un model de proiectare comportamentală, promovează cuplarea slabă între emițător (client) și receptor (obiectul care efectuează operația) și oferă o modalitate de a susține operațiunile anulabile.
3.2 Metoda iteratorului
Metoda iteratorului este un model de design comportamental, i t oferă o modalitate de a accesa secvențial elemente ale unui obiect agregat (o colecție), fără a expune reprezentarea de bază a acelei colecții.
3.3 Metoda mediatorului
Metoda mediatorului este un model de design comportamental, i t promovează cuplarea liberă între obiecte prin centralizarea comunicării lor printr-un obiect mediator. În loc ca obiectele să comunice direct între ele, ele comunică prin mediator, care încapsulează logica interacțiunii și coordonării.
3.4 Metoda Memento
Metoda Momento este un model de design comportamental, care oferă salvarea și restabilirea stării anterioare a unui obiect fără a dezvălui detaliile implementării acestuia.
3.5 Metoda observatorului
Metoda observatorului este un model de design comportamental, definește o dependență unu-la-mulți între obiecte, astfel încât atunci când un obiect (subiectul) își schimbă starea, toți dependenții săi (observatorii) sunt notificați și actualizați automat.
3.6 Metoda de stat
Metoda de stat este un model de design comportamental, permite unui obiect să-și modifice comportamentul atunci când starea sa internă se schimbă.
3.7 Metoda Strategiei
Strategy Method este un model de design comportamental, definește o familie de algoritmi, îi încapsulează pe fiecare și îi face interschimbabili și permite unui client să aleagă un algoritm adecvat dintr-o familie de algoritmi în timpul execuției.
3.8 Metoda șablonului
Metoda șablonului este un model de proiectare comportamentală, definește scheletul unui algoritm într-o metodă, dar permite subclaselor să modifice unii pași ai acelui algoritm fără a-și schimba structura.
3.9 Metoda vizitatorului
Metoda vizitatorului este un model de design comportamental, este folosit atunci când aveți un set de obiecte structurate, ierarhice și doriți să efectuați diverse operații asupra acestor obiecte fără a le modifica clasele.
3.10 Metoda obiectului nul
Null Object Method este un model de design comportamental, este folosit pentru a gestiona absența unui obiect valid prin furnizarea unui obiect care nu face nimic sau oferă un comportament implicit.
Alte referințe:
- Top 30 Java Design Patterns Întrebare de interviu
- Cele mai bune 10 cărți cu modele de design Java
- Modele de design: o abilitate obligatorie pentru dezvoltatorii de software în 2019
- Modele de design: înțelegeți importanța cu exemple din viața reală
- Modele de proiectare: proiectați un sistem de rezervare a biletelor de film precum Bookmyshow
- Modele de proiectare: Cum să proiectați o parcare folosind principii orientate pe obiecte?