Un scurt ghid pentru modelele de proiectare în JavaScript



Acest articol vă va ajuta cu o abordare detaliată despre modelele de proiectare în JavaScript într-o manieră simplificată pentru o mai bună înțelegere.

sunt soluțiile avansate orientate obiect la problemele software recurente. Modelele sunt desenele și interacțiunile reutilizabile ale obiectelor. Fiecare model are un nume și devine parte a unui vocabular atunci când se discută despre soluții complexe de proiectare.

Ce sunt tiparele de design în JavaScript?

poate fi definit ca a șablon software sau o descriere pentru a rezolva o problemă care apare în mai multe instanțe în timpul proiectării unei aplicații software sau a unui cadru software.





Modele de proiectare a constructorului

Acum, să discutăm despre Gangul celor Patru (GoF)



Bandă de patru

23 Gang of Four (GoF) tiparele sunt de obicei considerate fundamentul tuturor celorlalte tipare.

The Gang of Four (GoF) din modele de design:



Elemente de software reutilizabil orientat pe obiecte, seria Addison-Wesley Professional Computing Series, de Erich Gamma, Richard Helm, Ralph Jhonson, și John Vlissides. TAceste 23 de tipare GoF sunt în general considerate fundamentul pentru toate celelalte tipare.Acestea sunt clasificate în trei grupe: Creațional, structural și comportamental.

Tipuri de modele de proiectare

În principiu, există trei tipuri diferite de modele de design în JavaScript. Acestea sunt după cum urmează:

Modele creaționale

Fabrica de abstracte: Aceasta creează o instanță cu mai multe familii de clase. Aceasta oferă o interfață pentru crearea de familii care sunt obiecte înrudite sau dependente, fără nicio specificație a claselor lor concrete.

ce este un hashset java

Constructor: Această construcție obiect separată de reprezentarea sa. De asemenea, separă construcția unui obiect complex de reprezentarea acestuia, astfel încât același proces de construcție poate fi creat cu reprezentări diferite.

Metoda fabricii: Aceasta creează o instanță pentru mai multe clase derivate. De asemenea, definește o interfață pentru crearea unui obiect, dar permite subclasei să decidă ce clasă să instanțeze. Aceasta are, de asemenea, o metodă din fabrică care permite unei clase să amâne instanțierea la subclase.

Prototip: Este o instanță complet inițializată care poate fi copiată sau clonată. Mai exact, tipul de obiecte care trebuie create folosind o instanță prototipică, creează obiecte noi prin copierea acestui prototip.

Singleton: Este instanțe complet inițializate să fie copiate sau clonate.Este de tipul specific de obiecte de creat folosind o instanță prototipică și de a crea obiecte noi prin copierea acestui prototip.

Modele structurale

Adaptor: Se potrivește cu interfețele diferitelor clase. De asemenea, convertește interfața unei clase într-o altă interfață, cu excepția celei care are clientul. Adaptorul permite, de asemenea, să lucreze împreună clase care nu ar fi putut fi altfel datorită interfețelor de incompatibilitate.

Pod: Acesta separă interfața unui obiect de implementarea acestuia. Decuplarea unui abstract de implementarea acestuia, astfel încât cele două să poată varia independent.

Compozit: O structură de copac este formată din obiecte simple și compozite, compuse obiecte în structuri de copac pentru a reprezenta ierarhii parțiale. Compozit permite clienților să trateze obiecte individuale și compoziții de obiecte în mod uniform.

Decorator: Adaugă responsabilitățile obiectelor în mod dinamic. Atașează responsabilitățile suplimentare unui obiect în mod dinamic. Decoratorii oferă, de asemenea, o alternativă flexibilă la subclasare pentru extinderea funcționalităților.

Faţadă: O singură clasă care reprezintă un întreg subsistem și oferă o interfață de unificare la un set de interfețe dintr-un sistem. Fațada definește o interfață de nivel superior care face subsistemul mai ușor de utilizat.

Greutate zbura: O instanță cu granulație fină utilizată pentru partajarea eficientă pentru a susține în mod eficient un număr mare de obiecte cu granulație fină. O greutate de zbor este un obiect comun care poate fi utilizat simultan în mai multe numere de contexte.Greutatea zbura acționează, de asemenea, ca un obiect independent în fiecare context - nu se distinge de o instanță a obiectelor care nu sunt partajate.

Proxy: Este un obiect care reprezintă un alt obiect. Oferă un surogat sau un obiect substituent pentru a controla accesul la acesta.

Modele comportamentale:

Lanțul de responsabilitate: Este un mod de a transmite o cerere între un lanț de obiecte. Evită cuplarea cu expeditorul și trimite o cerere către receptorul său oferind mai multor obiecte șansa de a gestiona solicitarea. Obiectele primitoare sunt înlănțuite și transmise cererea de-a lungul lanțului până când un obiect o gestionează.

Comanda: Incapsulează o cerere de comandă ca obiect. Cerere încapsulată ca obiect, permițându-vă, prin urmare, să parametrați clienții cu cereri diferite, la coadă sau la cereri de jurnal și să susțineți operațiunile care nu se pot anula.

Interpret: Este o modalitate de a include elemente de limbaj într-un program. Având în vedere un limbaj, definiți o reprezentare pentru gramatica sa împreună cu un interpret care folosește reprezentarea pentru a interpreta propoziții în limbă.

Iterator: Accesul secvențial al elementelor unei colecții oferă o modalitate de a accesa secvențial elementele unui obiect agregat fără a expune reprezentarea sa de bază.

Mediator: Definește comunicarea simplificată între clase. Definiți un obiect care încapsulează modul în care interacționează un set de obiecte. Mediator promovează cuplarea liberă, împiedicând obiectele să se refere reciproc în mod explicit și vă permite să modificați interacțiunea lor independent.

Memento: Captează și restabilește starea internă a obiectului. Nu încalcă încapsularea, captează și exteriorizează starea internă a unui obiect, astfel încât obiectul să poată fi restabilit în această stare ulterior.

Observator: Este un mod de a notifica schimbarea la un număr de clase. Acesta definește o dependență de la unu la mai mulți dintre obiecte, astfel încât atunci când un obiect își schimbă starea, toate funcțiile sale sunt notificate și actualizate automat.

Stat: Modifică comportamentul unui obiect atunci când starea acestuia se schimbă. Permite unui obiect să-și modifice comportamentul atunci când se modifică starea internă. Obiectul va apărea să-și schimbe clasa.

Strategie: Acesta încapsulează un algoritm în interiorul unei clase și definește un algoritm familial, încapsulează pe fiecare și îl face apoi interschimbabil. Strategia permite algoritmului să varieze independent de clienții care îl utilizează.

suma cifrelor unui număr în java folosind bucla for

Șablon: Amânați pașii exacți ai unui algoritm la o subclasă. Acesta definește scheletul unui algoritm într-o operație, amânând câțiva pași importanți către subclasele. Metoda șablon ne permite să creăm o subclasă redefinim anumite etape ale unui algoritm fără a modifica structura algoritmului.

Vizitator: Definește o nouă operație la o clasă fără schimbare. Reprezentați o operație care trebuie efectuată asupra elementelor unei structuri de obiect. Vizitatorul vă permite să definiți o nouă operațiune fără a modifica clasele elementelor pe care operează.

Cu aceasta, ajungem la sfârșitul acestui articol. Sper că ați înțeles modelele de proiectare în JavaScript, tipurile lor, importanța și implementarea lor.

Acum că ați înțeles elementele de bază ale modelelor de proiectare în JavaScript, consultați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început avansat în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate și Primăvară .

Ai o întrebare pentru noi? Menționați-l în secțiunea de comentarii a acestui blog „Modele de proiectare în JavaScript” și vă vom contacta cât mai curând posibil.