Isang Maikling Gabay sa Mga Disenyo ng Mga pattern sa JavaScript



Tutulungan ka ng artikulong ito sa isang detalyadong diskarte tungkol sa Mga Disenyo ng Mga pattern sa JavaScript sa isang pinasimple na pamamaraan para sa mas mahusay na pag-unawa.

ay ang mga advanced na object-oriented na solusyon sa karaniwang paulit-ulit na mga problema sa software. Ang mga pattern ay ang muling magagamit na mga disenyo at pakikipag-ugnayan ng mga bagay. Ang bawat pattern ay may isang pangalan at nagiging bahagi ng isang bokabularyo kapag tinatalakay ang mga kumplikadong solusyon sa disenyo.

Ano ang Mga Disenyo ng Disenyo sa JavaScript?

maaaring tukuyin bilang a template ng software o isang paglalarawan upang malutas ang isang problema na nangyayari sa maraming mga pagkakataon habang nagdidisenyo ng isang Application ng Software o isang Framework ng Software.





Mga pattern ng Disenyo ng Tagabuo

Ngayon, pag-usapan natin ang Gang of Four (GoF)



Gang ng Apat

Ang 23 Gang ng Apat (GoF) ang mga pattern ay karaniwang isinasaalang-alang ang pundasyon para sa lahat ng iba pang mga pattern.

Ang Gang ng Apat (GoF) mula sa Mga pattern ng Disenyo:



Mga Elemento ng Reusable Object-oriented Software, Addison-Wesley Professional Computing Series, ni Erich Gamma, Richard Helm, Ralph Jhonson, at John Vlissides. These 23 mga pattern ng GoF sa pangkalahatan ay isinasaalang-alang ang pundasyon para sa lahat ng iba pang mga pattern.Ang mga ito ay ikinategorya sa tatlong mga grupo: Malikhain, Istruktural at Ugali.

Mga uri ng Mga Disenyo ng Disenyo

Karaniwan mayroong tatlong magkakaibang uri ng Mga Disenyo ng Disenyo sa JavaScript. Ang mga ito ay ang mga sumusunod:

i-install ang php 7 sa windows

Mga Pamplikha na Huwaran

Pabrika ng Abstract: Lumilikha ito ng isang halimbawa sa maraming pamilya ng mga klase. Nagbibigay ito ng isang interface para sa paglikha ng mga pamilya na nauugnay o umaasa sa mga bagay nang walang anumang pagtutukoy ng kanilang mga kongkretong klase.

Tagabuo: Pinaghiwalay nito ang pagtatayo ng bagay mula sa representasyon nito. Pinaghihiwalay din ang pagtatayo ng isang kumplikadong bagay mula sa representasyon nito upang ang eksaktong eksaktong proseso ng konstruksyon ay maaaring malikha na may iba't ibang mga representasyon.

Paraan ng Pabrika: Lumilikha ito ng isang halimbawa para sa maraming nagmula sa mga klase. Tinutukoy din ang isang interface para sa paglikha ng isang bagay, ngunit hinahayaan nito ang subclass na magpasya kung aling klase ang magsisilbi. Mayroon din itong Pamamaraan sa Pabrika na nagpapahintulot sa isang klase na ipagpaliban ang instantiation sa mga subclass.

Prototype: Ito ay isang buong nasimulang halimbawa na maaaring makopya o ma-clone. Partikular, ang uri ng mga bagay upang lumikha ng paggamit ng isang halimbawa ng prototype, lumikha ng mga bagong bagay sa pamamagitan ng pagkopya ng prototype na ito.

Singleton: Ito ay ganap na nasimulan na mga pagkakataong makopya o mai-clone.Ito ay tiyak na uri ng mga bagay upang lumikha ng paggamit ng isang halimbawa ng prototype at lumikha ng mga bagong bagay sa pamamagitan ng pagkopya ng prototype na ito.

Mga pattern ng istruktura

Adapter: Ito ay tumutugma sa mga interface ng iba't ibang mga klase. Nagko-convert din ang interface ng isang klase sa isa pang interface maliban sa pagkakaroon ng client. Pinapayagan din ng adapter na gumana ang mga klase na maaaring hindi naging iba kung hindi dahil sa mga interface ng hindi pagkakatugma.

Tulay: Pinaghihiwalay nito ang interface ng isang bagay mula sa pagpapatupad nito. Pag-decouplate ng isang abstract mula sa pagpapatupad nito upang ang dalawa ay maaaring magkakaiba-iba.

def __init__ sa sawa

Composite: Ang isang istraktura ng puno ay simple at pinaghalo ng mga bagay, binubuo ng mga bagay sa mga istraktura ng puno upang kumatawan sa mga buong hierarchy. Hinahayaan ng Composite ang mga kliyente na tratuhin ang mga indibidwal na bagay at komposisyon ng mga bagay nang pantay.

Dekorador: Nagdaragdag ng mga responsibilidad sa mga bagay nang pabago-bago. Dinalakip ang mga karagdagang responsibilidad sa isang bagay nang pabago-bago. Nagbibigay din ang mga dekorador ng isang kakayahang umangkop na kahalili sa subclassing para sa pagpapalawak ng mga pagpapaandar.

Harapan: Isang solong klase na kumakatawan sa isang buong subsystem at nagbibigay ng isang pinag-isang interface sa isang hanay ng mga interface sa isang system. Tinutukoy ng Façade ang isang mas mataas na antas na interface na ginagawang mas madaling gamitin ang subsystem.

Flyweight: Isang pinong-grained na halimbawa na ginamit para sa mahusay na pagbabahagi upang suportahan ang malaking bilang ng mga mahusay na butil na bagay nang mahusay. Ang isang flyweight ay isang ibinahaging bagay na maaaring magamit sa maraming bilang ng mga konteksto nang sabay-sabay.Ang flyweight ay kumikilos din bilang isang independiyenteng bagay sa bawat konteksto - Hindi ito makikilala mula sa isang pagkakataon ng mga bagay na hindi naibahagi.

Proxy: Ito ay isang bagay na kumakatawan sa ibang bagay. Nagbibigay ito ng isang kahalili o isang object ng placeholder upang makontrol ang pag-access dito.

Mga pattern ng pag-uugali:

Chain of Responsibility: Ito ay isang paraan ng pagpasa ng isang kahilingan sa pagitan ng isang kadena ng mga bagay. Iniiwasan nito ang pagkakasama sa nagpadala at nagpapadala ng isang kahilingan sa tatanggap nito sa pamamagitan ng pagbibigay ng higit sa isang bagay ng pagkakataong hawakan ang kahilingan. Ang mga tumatanggap na bagay ay nakakadena at ipinasa ang kahilingan kasama ang tanikala hanggang sa hawakan ito ng isang bagay.

Utos: Inilalagay nito ang isang kahilingan sa utos bilang isang object. Naka-encapsulate na kahilingan bilang isang object, samakatuwid ay pinapayagan kang i-parameter ang mga kliyente na may iba't ibang mga kahilingan, pila o pag-log sa mga kahilingan, at suportahan ang mga hindi maibabalik na operasyon.

Interpreter: Ito ay isang paraan upang maisama ang mga elemento ng wika sa isang programa. Dahil sa isang wika, tukuyin ang isang representasyon para sa grammar nito kasama ang isang interpreter na gumagamit ng representasyon upang bigyang kahulugan ang mga pangungusap sa wika.

Iterator: Ang sunud-sunod na pag-access ng mga elemento ng isang koleksyon ay nagbibigay ng isang paraan upang ma-access ang mga elemento ng isang pinagsama-samang bagay nang sunud-sunod nang hindi inilalantad ang pinagbabatayan nitong representasyon.

Tagapamagitan: Tinutukoy nito na pinapasimple ang komunikasyon sa pagitan ng mga klase. Tukuyin ang isang bagay na nagpapaloob kung paano nakikipag-ugnayan ang isang hanay ng mga bagay. Tagapamagitan nagtataguyod ng maluwag na pagkabit sa pamamagitan ng pagpapanatili ng mga bagay mula sa pagtukoy sa bawat isa nang malinaw, at hinahayaan kang mag-iba ang kanilang pakikipag-ugnay nang nakapag-iisa.

Memento: Kinukuha at naibalik nito ang panloob na estado ng bagay. Hindi nito nilalabag ang encapsulation, makunan at ilabas ang panloob na estado ng isang bagay upang ang bagay ay maibalik sa estado na ito sa paglaon.

Tagamasid: Ito ay isang paraan ng pagpapaalam sa pagbabago sa isang bilang ng mga klase. Tinutukoy nito ang isa-sa-maraming pagpapakandili sa pagitan ng mga bagay upang kapag ang isang bagay ay nagbago ng estado, ang lahat ng mga nakasalalay nito ay aabisuhan at awtomatikong nai-update.

Estado: Binabago nito ang pag-uugali ng isang bagay kapag nagbago ang estado nito. Pinapayagan ang isang bagay na baguhin ang pag-uugali nito kapag ito ay panloob na mga pagbabago sa estado. Lilitaw ang bagay upang baguhin ang klase nito.

Diskarte: Ito ay nag-encapsulate ng isang algorithm sa loob ng isang klase at tumutukoy sa isang algorithm ng pamilya, nag-encapsulate ng bawat isa, at pagkatapos ay napapalitan. Pinapayagan ng diskarte na mag-iba ang algorithm nang nakapag-iisa mula sa mga kliyente na gumagamit nito.

Template: Ipagpaliban ang eksaktong mga hakbang ng isang algorithm sa isang subclass. Tinutukoy nito ang balangkas ng isang algorithm sa isang operasyon, na ipinagpaliban ang ilang mahahalagang hakbang sa mga subclass. Hinahayaan kami ng Paraan ng Template na lumikha ng isang subclass na muling tukuyin ang ilang mga hakbang ng isang algorithm nang hindi binabago ang istraktura ng algorithm.

Bisita: Tinutukoy nito ang isang bagong operasyon sa isang klase nang walang pagbabago. Kumakatawan sa isang operasyon na isasagawa sa mga elemento ng isang istraktura ng bagay. Hinahayaan ka ng bisita na tukuyin ang isang bagong operasyon nang hindi binabago ang mga klase ng mga elemento na kung saan ito nagpapatakbo.

Sa pamamagitan nito, natapos na kami sa artikulong ito. Inaasahan kong naunawaan mo ang Mga Disenyo ng Disenyo sa JavaScript, ang kanilang mga uri, kahalagahan at pagpapatupad.

sqoop import mula sa orakulo hanggang sa mga HDMI

Ngayon na naintindihan mo ang mga pangunahing kaalaman sa Mga Disenyo ng Disenyo sa JavaScript, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa pagsasanay at sertipikasyon ng Java J2EE at SOA ng Edureka ay idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer. Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa pag-program ng Java at sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring .

May tanong ba sa amin? Nabanggit ito sa seksyon ng mga komento ng blog na 'Mga Disenyo ng Disenyo sa JavaScript' na blog at babalikan ka namin sa lalong madaling panahon.