Stručný sprievodca návrhovými vzormi v JavaScripte



Tento článok vám pomôže s podrobnejším prístupom k návrhovým vzorom v JavaScripte zjednodušeným spôsobom pre lepšie pochopenie.

sú pokročilé objektovo orientované riešenia bežne sa opakujúcich softvérových problémov. Vzory sú opakovane použiteľné vzory a interakcie objektov. Každý vzor má svoje meno a stáva sa súčasťou slovnej zásoby pri diskusiách o zložitých dizajnových riešeniach.

Čo sú návrhové vzory v JavaScripte?

možno definovať ako a softvérová šablóna alebo popis riešenia problému, ktorý sa vyskytuje vo viacerých prípadoch pri navrhovaní softvérovej aplikácie alebo softvérového rámca.





Návrhárske vzory staviteľa

Teraz poďme diskutovať o Gangu štyroch (GoF)



prevod binárneho formátu na desatinné číslo v jave

Gang štyroch

The 23 Gang štyroch (GoF) vzory sa zvyčajne považujú za základ všetkých ostatných vzorov.

The Gang of Four (GoF) z návrhových vzorov:



Prvky opakovane použiteľného objektovo orientovaného softvéru, Addison-Wesley Professional Computing Series, autor Erich Gamma, Richard Helm, Ralph Jhonson, a John Vlissides. Ttýchto 23 vzorov GoF sa všeobecne považuje za základ všetkých ostatných vzorov.Sú rozdelené do troch skupín: Tvorivé, štrukturálne a behaviorálne.

Typy dizajnových vzorov

V JavaScripte existujú v zásade tri rôzne typy návrhových vzorov. Sú to tieto:

Tvorivé vzory

Abstraktná továreň: Takto sa vytvorí inštancia s niekoľkými rodinami tried. Toto poskytuje rozhranie na vytváranie rodín, ktoré sú príbuznými alebo závislými objektmi bez akejkoľvek špecifikácie ich konkrétnych tried.

Staviteľ: Týmto sa oddelila konštrukcia objektu od jeho znázornenia. Oddeľuje tiež konštrukciu zložitého objektu od jeho znázornenia, aby bolo možné vytvoriť úplne rovnaký proces výstavby s rôznymi znázorneniami.

Továrenská metóda: Takto sa vytvorí inštancia pre niekoľko odvodených tried. Definuje tiež rozhranie na vytvorenie objektu, ale umožňuje podtriede rozhodnúť, ktorá trieda sa má vytvoriť. Toto má tiež továrenskú metódu, ktorá umožňuje triede odložiť inštanciu na podtriedy.

Prototyp: Je to plne inicializovaná inštancia, ktorú je možné kopírovať alebo klonovať. Konkrétne druh objektov, ktoré sa majú vytvoriť pomocou prototypovej inštancie, vytvárajú nové objekty kopírovaním tohto prototypu.

Singleton: Plne inicializované inštancie sú kopírované alebo klonované.Špecifickým typom objektov je vytváranie pomocou prototypovej inštancie a vytváranie nových objektov kopírovaním tohto prototypu.

Štrukturálne vzory

Adaptér: Zhoduje sa s rozhraniami rôznych tried. Tiež prevádza rozhranie triedy na iné rozhranie okrem toho, ktoré má klienta. Adaptér tiež umožňuje triedam spolupracovať, čo by inak nemohlo byť kvôli nekompatibilným rozhraniam.

Most: Oddeľuje rozhranie objektu od jeho implementácie. Oddelenie abstraktu od jeho implementácie, aby sa dva mohli nezávisle meniť.

Zloženie: Stromová štruktúra je jednoduchá a zložená, zložená do stromovej štruktúry, ktorá predstavuje hierarchie jednotlivých častí. Kompozit umožňuje klientom zaobchádzať s jednotlivými objektmi a kompozíciami objektov jednotne.

Dekoratér: Dynamicky pridáva zodpovednosti k objektom. Dynamicky pripája ďalšie zodpovednosti k objektu. Dekoratéri tiež poskytujú flexibilnú alternatívu k podtriede na rozšírenie funkcií.

Fasáda: Jedna trieda, ktorá predstavuje celý subsystém a poskytuje zjednocujúce rozhranie so sadou rozhraní v systéme. Fasáda definuje rozhranie vyššej úrovne, ktoré uľahčuje používanie subsystému.

Mušia váha: Jemne zrnitá inštancia používaná na efektívne zdieľanie na efektívnu podporu veľkého množstva jemne zrnitých objektov. Muchová váha je zdieľaný objekt, ktorý sa dá použiť vo viacerých počtoch kontextov súčasne.Muchová váha v každom kontexte tiež funguje ako nezávislý objekt - je to na nerozoznanie od inštancie objektov, ktoré nie sú zdieľané.

Proxy server: Je to objekt predstavujúci iný objekt. Poskytuje náhradný alebo zástupný objekt na riadenie prístupu k nemu.

Vzory správania:

Reťaz zodpovednosti Je to spôsob odovzdania požiadavky medzi reťazcom objektov. Vyhýba sa spojeniu s odosielateľom a odošle požiadavku svojmu príjemcovi tým, že dá viac ako jednému objektu šancu na vybavenie žiadosti. Prijímajúce objekty sú zreťazené a požiadavku prechádzajú pozdĺž reťaze, kým s nimi objekt nespracuje.

Príkaz: Zapuzdruje požiadavku na príkaz ako objekt. Zapuzdrená požiadavka ako objekt, ktorá vám umožní parametrizovať klientov s rôznymi požiadavkami, požiadavkami na fronty alebo protokoly a podporovať nevratné operácie.

Tlmočník: Je to spôsob, ako zahrnúť jazykové prvky do programu. Pre daný jazyk definujte vyjadrenie jeho gramatiky spolu s tlmočníkom, ktorý používa vyjadrenie na interpretáciu viet v jazyku.

Iterátor: Postupný prístup k prvkom kolekcie poskytuje spôsob, ako postupne pristupovať k prvkom agregovaného objektu bez toho, aby ste odhalili jeho základné znázornenie.

Sprostredkovateľ: Definuje zjednodušenie komunikácie medzi triedami. Definujte objekt, ktorý zapuzdruje spôsob interakcie sady objektov. Sprostredkovateľ podporuje voľnú väzbu tým, že bráni objektom v explicitnom vzájomnom odkazovaní, a umožňuje vám nezávisle meniť ich interakciu.

Memento: Zachytáva a obnovuje vnútorný stav objektu. Neporušuje zapuzdrenie, zachytenie a externalizáciu vnútorného stavu objektu, aby bolo možné objekt do tohto stavu obnoviť neskôr.

Pozorovateľ: Je to spôsob notifikácie zmeny viacerých tried. Definuje závislosť jeden na viac medzi objektmi, takže keď jeden objekt zmení stav, všetky jeho závislosti budú automaticky upozornené a aktualizované.

Štát: Mení správanie objektu pri zmene jeho stavu. Umožňuje objektu zmeniť svoje správanie, keď dôjde k interným zmenám stavu. Zdá sa, že objekt mení svoju triedu.

Stratégia: Zapuzdruje algoritmus vo vnútri triedy a definuje rodinný algoritmus, každý zapuzdruje a potom je zameniteľný. Stratégia umožňuje, aby sa algoritmus líšil nezávisle od klientov, ktorí ho používajú.

Šablóna: Presuňte presné kroky algoritmu na podtriedu. Definuje kostru algoritmu v operácii a oddeľuje niektoré dôležité kroky do podtried. Metóda šablóny nám umožňuje vytvoriť podtriedu, ktorá predefinuje určité kroky algoritmu bez zmeny štruktúry algoritmu.

Návštevník: Definuje novú operáciu pre triedu bezo zmeny. Predstavuje operáciu, ktorá sa má vykonať s prvkami objektovej štruktúry. Návštevník vám umožňuje definovať novú operáciu bez zmeny tried prvkov, na ktorých pracuje.

Týmto sa dostávame na koniec tohto článku. Dúfam, že ste pochopili návrhové vzory v JavaScripte, ich typy, dôležitosť a ich implementáciu.

Teraz, keď ste pochopili základy návrhových vzorov v JavaScripte, sa pozrite na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je určený pre študentov a profesionálov, ktorí chcú byť vývojármi Java. Kurz je navrhnutý tak, aby vám dal náskok v programovaní v Jave a naučil vás základné aj pokročilé koncepty Javy spolu s rôznymi Java frameworkmi ako Hibernate & Jar .

Máte na nás otázku? Uveďte to v sekcii komentárov v tomto blogu „Design Patterns in JavaScript“ a my sa vám ozveme čo najskôr.