CodeGym /Blog Java /Aleatoriu /Modele de proiectare în Java [Partea 1]
John Squirrels
Nivel
San Francisco

Modele de proiectare în Java [Partea 1]

Publicat în grup
Acesta este un scurt articol despre modelele de design în Java. Nu vor exista implementări de modele, doar o listă de modele în Java împreună cu o scurtă descriere a fiecăruia. Pentru cei deja familiarizați cu subiectul, aceasta va fi utilă ca recenzie și rezumat. În schimb, cei care învață despre tipare pentru prima dată vor beneficia de aceasta ca o prezentare inițială a subiectului înainte de a săpa mai adânc. Modele de proiectare în Java [Partea 1] - 1 Modele de designsunt soluții gata de utilizat pentru sarcini de programare care apar frecvent. Nu este o clasă sau o bibliotecă care poate fi conectată la un proiect. Este ceva mai mult. Modelele de proiectare potrivite pentru fiecare sarcină sunt implementate în fiecare caz specific. Ar trebui să rețineți că, atunci când este aplicat incorect sau la o sarcină nepotrivită, un model de design poate crea o mulțime de probleme. Cu toate acestea, un model aplicat corect vă poate ajuta să finalizați sarcinile ușor și simplu.

Tipuri de modele:

  • creativă
  • structural
  • comportamental
Modelele de creație oferă mecanisme de inițializare, permițându-vă să creați obiecte în moduri convenabile. Modelele structurale definesc relațiile dintre clase și obiecte, permițându-le să lucreze împreună. Tiparele comportamentale sunt folosite pentru a simplifica interacțiunea dintre entități.

Creativ:

  • Singleton — restricționează crearea unei clase la o singură instanță și oferă acces la acea instanță unică.

  • Factory — folosit atunci când avem o superclasă cu mai multe subclase și trebuie să returnăm o subclasă pe baza intrării.

  • Fabrică abstractă — folosește o super fabrică pentru a crea fabrici, pe care apoi le folosim pentru a crea obiecte.

  • Builder — folosit pentru a crea obiecte complexe folosind obiecte simple. Se creează treptat un obiect mare dintr-un obiect mic, simplu.

  • Prototip — ajută la îmbunătățirea performanței la crearea de obiecte duplicate; în loc să creeze un obiect nou, acesta creează și returnează o clonă a unui obiect existent.

Structural:

  • Adaptor — un convertor între două obiecte incompatibile. Putem folosi modelul adaptorului pentru a combina două interfețe incompatibile.

  • Compozit — folosește o clasă pentru a reprezenta o structură arborescentă.

  • Proxy — oferă funcționalitatea unei alte clase.

  • Flyweight — refolosește obiecte în loc să creeze un număr mare de obiecte similare.

  • Fațadă — oferă o interfață simplă pentru un client, care utilizează interfața pentru a interacționa cu sistemul.

  • Bridge — face clase specifice independente de clasele care implementează o interfață.

  • Decorator - adaugă o nouă funcționalitate unui obiect existent fără a se lega de structura acestuia.

Comportamental:

  • Metoda șablonului - definește un algoritm de bază și permite descendenților să suprascrie unii pași ai algoritmului fără a-și schimba structura generală.

  • Mediator — oferă o clasă intermediară care se ocupă de toată comunicarea dintre diferite clase.

  • Lanț de responsabilitate — face posibilă evitarea dependenței stricte între expeditorul și destinatarul unei cereri; mai mult, cererea poate fi procesată de mai multe obiecte.

  • Observator — permite unui obiect să monitorizeze și să răspundă la evenimentele care au loc în alte obiecte.

  • Strategie — permite modificarea strategiilor (algoritmilor) în timpul rulării.

  • Comanda — o interfață care declară o metodă pentru efectuarea unei anumite acțiuni.

  • Stare — permite unui obiect să-și schimbe comportamentul în funcție de starea sa.

  • Vizitator — folosit pentru a simplifica operațiunile pe grupuri de obiecte înrudite.

  • Interpret — definește o gramatică pentru un limbaj simplu din domeniul problemei.

  • Iterator — accesează secvenţial elementele unei colecţii fără a-i cunoaşte forma subiacentă.

  • Memento — folosit pentru a stoca starea unui obiect; această stare poate fi restabilită ulterior.

Pe măsură ce parcurgeți cursul CodeGym, veți întâlni câteva modele pe această listă. Vă recomand următoarele sarcini despre modele: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... Folosirea înțeleaptă a modelelor de design duce la o întreținere mai fiabilă a codului, deoarece, pe lângă faptul că modelele de design sunt soluții bune la problemele comune , alți dezvoltatori le pot recunoaște, reducând timpul necesar pentru a lucra cu un anumit cod.
Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION