Stručný průvodce návrhovými vzory v JavaScriptu



Tento článek vám pomůže s podrobným přístupem k návrhovým vzorům v JavaScriptu zjednodušeným způsobem pro lepší pochopení.

jsou pokročilá objektově orientovaná řešení běžně se opakujících softwarových problémů. Vzory jsou opakovaně použitelné vzory a interakce objektů. Každý vzor má svůj název a stává se součástí slovní zásoby při projednávání komplexních návrhových řešení.

Co jsou návrhové vzory v JavaScriptu?

lze definovat jako a softwarová šablona nebo popis k vyřešení problému, ke kterému dochází v několika případech při navrhování softwarové aplikace nebo softwarového rámce.





Tvůrčí vzory

Nyní pojďme diskutovat o Gangu čtyř (GoF)



převést datum řetězce na datum

Gang čtyř

The 23 Gang of Four (GoF) vzory jsou obvykle považovány za základ pro všechny ostatní vzory.

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



Prvky opakovaně použitelného objektově orientovaného softwaru, Addison-Wesley Professional Computing Series, autor Erich Gamma, Richard Helm, Ralph Jhonson, a John Vlissides. Ttěchto 23 vzorů GoF je obecně považováno za základ pro všechny ostatní vzory.Jsou rozděleny do tří skupin: Tvůrčí, strukturální a behaviorální.

Typy návrhových vzorů

V JavaScriptu existují v zásadě tři různé typy návrhových vzorů. Jsou to následující:

Tvůrčí vzory

Abstraktní továrna: Tím se vytvoří instance s několika rodinami tříd. To poskytuje rozhraní pro vytváření rodin, které jsou příbuznými nebo závislými objekty bez jakékoli specifikace jejich konkrétních tříd.

Stavitel: Tato oddělená konstrukce objektu od jeho znázornění. Také odděluje konstrukci složitého objektu od jeho reprezentace, takže lze vytvořit přesně stejný proces výstavby s různými reprezentacemi.

Tovární metoda: Tím se vytvoří instance pro několik odvozených tříd. Také definuje rozhraní pro vytvoření objektu, ale umožňuje podtřídě rozhodnout, kterou třídu vytvořit instanci. To také má tovární metodu, která umožňuje třídě odložit instanci na podtřídy.

Prototyp: Jedná se o plně inicializovanou instanci, kterou lze kopírovat nebo klonovat. Konkrétně druh objektů, které se mají vytvořit pomocí prototypové instance, vytvoří nové objekty zkopírováním tohoto prototypu.

Jedináček: Jsou plně inicializované instance ke kopírování nebo klonování.Specifickým druhem objektů je vytváření pomocí prototypové instance a vytváření nových objektů kopírováním tohoto prototypu.

Strukturální vzory

Adaptér: Odpovídá rozhraním různých tříd. Také převede rozhraní třídy na jiné rozhraní kromě toho, které má klienta. Adaptér také umožňuje třídám pracovat společně, které by jinak nemohly být jinak kvůli nekompatibilním rozhraním.

Most: Odděluje rozhraní objektu od jeho implementace. Oddělení abstraktu od jeho implementace, aby se tyto dva mohly lišit nezávisle.

Složený: Stromová struktura je tvořena jednoduchými a složenými objekty, složenými objekty do stromových struktur, které představují hierarchie celého celku. Kompozitní umožňuje klientům zacházet s jednotlivými objekty a kompozicemi objektů jednotně.

Natěrač: Přidává odpovědnosti k objektům dynamicky. Dynamicky připojí další odpovědnosti k objektu. Dekorátoři také poskytují flexibilní alternativu k podtřídě pro rozšíření funkcí.

Fasáda: Jedna třída, která představuje celý subsystém a poskytuje sjednocující rozhraní se sadou rozhraní v systému. Fasáda definuje rozhraní vyšší úrovně, které usnadňuje používání subsystému.

Muška: Jemně zrnitá instance používaná pro efektivní sdílení k efektivní podpoře velkého počtu jemně zrnitých objektů. Muchová váha je sdílený objekt, který lze použít ve více počtech kontextů současně.Muchová váha také v každém kontextu funguje jako samostatný objekt - je nerozeznatelný od instance objektů, které nejsou sdílené.

Proxy: Je to objekt představující jiný objekt. Poskytuje náhradní nebo zástupný objekt, který řídí přístup k němu.

Vzory chování:

Řetězec odpovědnosti: Jedná se o způsob předání požadavku mezi řetězcem objektů. Vyhne se spojení s odesílatelem a odešle požadavek příjemci tím, že dá více než jednomu objektu šanci tento požadavek zpracovat. Přijímající objekty jsou zřetězeny a předávají požadavek podél řetězce, dokud s ním objekt nezpracuje.

Příkaz: Zapouzdřuje požadavek na příkaz jako objekt. Zapouzdřený požadavek jako objekt, takže vám umožní parametrizovat klienty s různými požadavky na požadavky, fronty nebo protokoly a podporovat nevratné operace.

Tlumočník: Jedná se o způsob, jak zahrnout jazykové prvky do programu. Vzhledem k jazyku definujte reprezentaci jeho gramatiky spolu s tlumočníkem, který používá reprezentaci k interpretaci vět v jazyce.

Iterátor: Sekvenční přístup k prvkům kolekce poskytuje způsob, jak postupně přistupovat k prvkům agregovaného objektu, aniž by došlo k odhalení jeho podkladové reprezentace.

Prostředník: Definuje zjednodušení komunikace mezi třídami. Definujte objekt, který zapouzdřuje způsob interakce sady objektů. Prostředník podporuje volné spojení tím, že objekty výslovně neodkazuje na sebe, a umožňuje vám nezávisle měnit jejich interakci.

Memento: Zachytává a obnovuje vnitřní stav objektu. Neporušuje zapouzdření, zachycuje a externalizuje vnitřní stav objektu, aby bylo možné objekt do tohoto stavu obnovit později.

Pozorovatel: Jedná se o způsob oznámení změny několika třídám. Definuje závislost jedna na více mezi objekty, takže když jeden objekt změní stav, všechny jeho závislosti jsou upozorněny a automaticky aktualizovány.

Stát: Mění chování objektu při změně jeho stavu. Umožňuje objektu změnit jeho chování, když dojde ke změnám vnitřního stavu. Zdá se, že objekt mění svou třídu.

Strategie: Zapouzdřuje algoritmus uvnitř třídy a definuje rodinný algoritmus, každý zapouzdřuje a poté je zaměnitelný. Strategie umožňuje, aby se algoritmus lišil nezávisle na klientech, kteří jej používají.

Šablona: Přesuňte přesné kroky algoritmu do podtřídy. Definuje kostru algoritmu v operaci a odkládá některé důležité kroky do podtříd. Metoda šablony nám umožňuje vytvořit podtřídu předefinovat určité kroky algoritmu beze změny struktury algoritmu.

Návštěvník: Definuje novou operaci do třídy beze změny. Představují operaci, která se má provést s prvky struktury objektu. Visitor vám umožňuje definovat novou operaci beze změny tříd prvků, na kterých pracuje.

Tímto se dostáváme na konec tohoto článku. Doufám, že jste pochopili návrhové vzory v JavaScriptu, jejich typy, důležitost a jejich implementaci.

Nyní, když jste pochopili základy návrhových vzorů v JavaScriptu, podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Školicí a certifikační kurz Edureka Java J2EE a SOA je určen pro studenty a profesionály, kteří chtějí být vývojářem Java. Kurz je navržen tak, aby vám poskytl náskok v programování v Javě a naučil vás základní i pokročilé koncepty Javy spolu s různými rámci Java, jako je Hibernate & Jaro .

Máte na nás dotaz? Uveďte to v sekci komentářů v tomto blogu „Design Patterns in JavaScript“ a my se vám ozveme co nejdříve.