ce este modelul de design compozit?

Mahipal Nehra
Mahipal Nehra

urmați

8 mai 2020 · 3 min citire

modelul de proiectare compozit este un model de proiectare care se încadrează în categoria modelelor structurale. Astfel de modele sunt preocupate de modul în care clasele și obiectele sunt compuse pentru a forma structuri mai mari. Modelul compozit descrie un astfel de mod de a construi o ierarhie de clasă formată din clase pentru două tipuri diferite de obiecte (compozite și primitive). Un obiectiv al ingineriei software este menținerea unei coeziuni ridicate între module și celălalt pentru a reduce cuplarea.

multe aplicații care trebuie să se ocupe de date ierarhice trebuie să se asigure că nu au prea multă dependență între clasele lor, deoarece astfel de aplicații trebuie să își actualizeze constant componentele. Un sistem de fișiere este un exemplu clasic de structură ierarhică care conține foldere în foldere și fișiere în foldere. Un fișier poate fi un videoclip, un document text, un fișier audio. Deci, pot exista mai multe fișiere audio într-un folder și mai multe fișiere video în alte și ambele acestea pot fi în interiorul unui alt folder care reprezintă „media”, care poate fi în sine într-un alt folder numit „prelegeri”. Dosarul prelegere poate conține, de asemenea, un alt dosar care reprezintă subiect, iar acest lucru poate continua pentru totdeauna. Ideea pe care încercăm să o facem este dacă încercați să proiectați o astfel de aplicație care se ocupă de componente ierarhice, puteți ajunge să creați structuri de clasă care sunt foarte cuplate și pentru a adăuga mai multe componente ar putea apărea o mulțime de redundanță. Pentru a rezolva această problemă comună model de design compozit oferă o soluție elegantă. În primul rând, să vedem ce este model de design compozit? (Java Development Company)

Composite design pattern oferă o ierarhie de proiectare, în care nodurile cu copii diferă de nodurile fără copii. Vă puteți gândi la structura de date a arborelui în acest caz. Și în comparație cu exemplul nostru, un nod poate fi un folder, iar copiii ar putea fi fișiere sau foldere formate din fișiere. Un grup de obiecte sunt tratate în același mod ca o singură instanță a aceluiași tip de obiect, deci, indiferent de ce, ne vom gândi la nod și la copiii săi ca la componenta folderului, acest lucru ne face mai ușor să proiectăm structura noastră ierarhică de componente pentru aplicația noastră. Ne vom referi la componente (obiecte) din interiorul componentelor (obiecte) ca compoziții. Modelul de design compozit permite clientului să trateze uniform obiectele și compozițiile individuale. Lucru de bază pentru a păstra în minte este structura arborelui, în timp ce se ocupă cu acest model de design. Pentru a înțelege mai bine ce este modelul de proiectare compozit și aplicabilitatea acestuia, să folosim un exemplu de cod în java, care este similar cu exemplul sistemului de fișiere pe care l-am dat.

Read: „tot ce trebuie să știți despre modelul de proiectare a metodei șablonului”

exemplu de model de design compozit

exemplul pe care îl vom folosi va fi un curs care constă din subiecte și prelegeri. Dacă urmați un curs pe orice subiect, va exista un subiect și acel subiect poate consta din multe subiecte și prelegeri. Deci, cum ar fi implementat asta? Vă vom arăta mai întâi abordarea comună.

să creăm o clasă de curs

fig: exemplu de model de design compozit în clasa Java — prelegere

prelegerea are un nume și o metodă de afișare pentru a afișa ierarhia acesteia.

clasa subiect

fig: exemplu de model de design compozit în clasa Java — topic

în exemplul nostru, clasa topic are caracteristicile adăugării unui subiect, adăugării unei prelegeri și afișării prelegerilor și subiectelor într-o ierarhie. Subiectul leagă alte subiecte și prelegeri în sine. Deci, putem avea subteme și prelegeri pe fiecare.

să vedem cum le combinăm în metoda principală

articol complet: https://www.decipherzone.com/blog-detail/when-use-composite-design-pattern-java

Lasă un răspuns

Adresa ta de email nu va fi publicată.