Trumpas „JavaScript“ dizaino modelių vadovas



Šis straipsnis padės jums išsamiau susipažinti su „JavaScript“ dizaino modeliais supaprastintu būdu, kad geriau suprastumėte.

yra pažangūs į objektą orientuoti sprendimai dažniausiai pasikartojančioms programinės įrangos problemoms spręsti. Modeliai yra daugkartinio naudojimo objektų dizainai ir sąveika. Kiekvienas modelis turi pavadinimą ir tampa žodyno dalimi aptariant sudėtingus dizaino sprendimus.

Kas yra „JavaScript“ dizaino modeliai?

galima apibrėžti kaip programinės įrangos šabloną arba aprašymas problemai, kylančiai keliais atvejais, projektuojant programinę įrangą arba programinę įrangą, išspręsti.





Statybininkų dizaino modeliai

Dabar aptarkime keturių gaują (GoF)



Keturių gauja

The 23 keturių gauja (GoF) modeliai paprastai laikomi visų kitų modelių pagrindu.

Keturių gauja (GoF) iš dizaino modelių:



Daugkartinio naudojimo į objektą orientuotos programinės įrangos elementai, „Addison-Wesley Professional Computing“ serija, autorius Erichas Gamma, Richardas Helmas, Ralphas Jhonsonas, ir Jonas Vlissidesas. TŠie 23 GoF modeliai paprastai laikomi visų kitų modelių pagrindu.Jie skirstomi į tris grupes: Kūrybinis, struktūrinis ir elgesio.

Dizaino modelių tipai

Iš esmės „JavaScript“ yra trys skirtingi dizaino modelių tipai. Jie yra tokie:

Kūrybos modeliai

Abstraktus fabrikas: Tai sukuria egzempliorių su keliomis klasių šeimomis. Tai suteikia sąsają kurti šeimas, kurios yra susiję ar priklausomi objektai, nenurodant konkrečių jų klasių.

Statybininkas: Tai atskyrė objekto konstrukciją nuo jo vaizdavimo. Taip pat atskiria sudėtingo objekto konstrukciją nuo jo atvaizdavimo, kad būtų galima sukurti tą patį statybos procesą su skirtingais vaizdais.

Gamyklos metodas: Tai sukuria egzempliorių kelioms išvestinėms klasėms. Taip pat apibrėžiama sąsaja objektui kurti, tačiau ji leidžia poklasiui nuspręsti, kurią klasę instancijuoti. Tai taip pat turi gamyklinį metodą, kuris leidžia klasei atidėti egzempliorių į poklasius.

Prototipas: Tai yra visiškai inicijuotas egzempliorius, kurį galima nukopijuoti arba klonuoti. Tiksliau, objektų, kuriuos reikia sukurti naudojant prototipinį egzempliorių, rūšis, sukuriami nauji objektai, nukopijuojant šį prototipą.

Singletonas: Tai yra visiškai inicijuoti egzemplioriai, kuriuos reikia nukopijuoti arba klonuoti.Tai yra tam tikro tipo objektai, kuriuos reikia sukurti naudojant prototipinį egzempliorių, ir kurti naujus objektus kopijuojant šį prototipą.

Struktūriniai modeliai

Adapteris: Tai atitinka skirtingų klasių sąsajas. Taip pat klasės sąsają paverčia kita sąsaja, išskyrus tą, kuri turi klientą. Adapteris taip pat leidžia klasėms dirbti kartu, kurios kitaip negalėjo būti dėl nesuderinamų sąsajų.

Tiltas: Tai atskiria objekto sąsają nuo jo įgyvendinimo. Anotuoti abstraktą nuo jo įgyvendinimo, kad jie abu galėtų skirtis.

Sudėtinis: Medžio struktūra yra iš paprastų ir sudėtinių objektų, sudaranti objektus į medžio struktūras, kad būtų vaizduojama visos dalies hierarchija. Kompozitas leidžia klientams vienodai elgtis su atskirais daiktais ir objektų kompozicijomis.

Dekoratorius: Dinamiškai prideda objektų atsakomybę. Dinamiškai objektui priskiria papildomas pareigas. Dekoratoriai taip pat suteikia lanksčią poklasio alternatyvą funkcijoms išplėsti.

Fasadas: Viena klasė, vaizduojanti visą posistemį ir teikianti vieningą sąsają su sąsajų rinkiniu sistemoje. Fasadas apibrėžia aukštesnio lygio sąsają, kuri palengvina posistemio naudojimą.

Musė: Smulkiagrūdis egzempliorius, naudojamas efektyviam bendrinimui, siekiant efektyviai palaikyti daugybę smulkiagrūdžių objektų. „Flyweight“ yra bendras objektas, kuris vienu metu gali būti naudojamas keliuose kontekstuose.Musė kiekviename kontekste taip pat veikia kaip nepriklausomas objektas - jis neatsiejamas nuo objektų, kurie nėra bendri, egzemplioriaus.

Įgaliojimas: Tai objektas, vaizduojantis kitą objektą. Jis suteikia pakaitalą arba vietos rezervavimo objektą, leidžiantį kontroliuoti prieigą prie jo.

Elgesio modeliai:

dvejetainis paieškos algoritmas Java

Atsakomybės grandinė: Tai būdas perduoti užklausą tarp objektų grandinės. Tai vengia ryšio su siuntėju ir siunčia užklausą jo gavėjui, suteikdama daugiau nei vienam objektui galimybę tvarkyti užklausą. Priimantys objektai yra sujungti grandine ir perduoti užklausą išilgai grandinės, kol objektas ją apdoros.

Komanda: Jis apima komandos užklausą kaip objektą. Užklausta užklausa kaip objektas, todėl galite nustatyti klientų parametrus su skirtingomis užklausomis, eilės ar žurnalo užklausomis ir palaikyti anuliuojamas operacijas.

Vertėjas žodžiu: Tai būdas įtraukti kalbos elementus į programą. Atsižvelgdami į kalbą, apibrėžkite jos gramatikos reprezentaciją kartu su vertėju, kuris naudoja vaizdą kalbos sakiniams interpretuoti.

Iteratorius: Nuosekli kolekcijos elementų prieiga suteikia galimybę nuosekliai pasiekti agreguoto objekto elementus, neatskleidžiant jo pagrindinio atvaizdavimo.

Tarpininkas: Tai apibrėžia supaprastintą bendravimą tarp klasių. Apibrėžkite objektą, kuris apibendrina objektų rinkinio sąveiką. Tarpininkas skatina laisvą sujungimą, neleisdamas objektams aiškiai kreiptis į vienas kitą, ir tai leidžia savarankiškai keisti jų sąveiką.

Atmintinė: Tai fiksuoja ir atkuria objekto vidinę būseną. Tai nepažeidžia objekto vidinės būsenos kapsuliavimo, fiksavimo ir pašalinimo iš išorės, kad vėliau objektą būtų galima atkurti šioje būsenoje.

Stebėtojas: Tai būdas pranešti apie kelių klasių pasikeitimą. Tai apibrėžia priklausomybę tarp daugelio objektų, kad pasikeitus vieno objekto būsenai, visi jo priklausiniai būtų automatiškai informuojami ir atnaujinami.

Valstybė: Tai keičia objekto elgesį, kai keičiasi jo būsena. Leidžia objektui pakeisti savo elgesį, kai jis yra vidinis būsenos pasikeitimas. Atrodys, kad objektas pakeis savo klasę.

Strategija: Jis apima algoritmą klasės viduje ir apibrėžia šeimos algoritmą, apgaubia kiekvieną iš jų ir padaro juos pakeičiamus. Strategija leidžia algoritmui skirtis nepriklausomai nuo jį naudojančių klientų.

Šablonas: Atidėkite tikslius algoritmo veiksmus į poklasį. Jis apibrėžia algoritmo griaučius operacijoje, atidėdamas kai kuriuos svarbius žingsnius į poklasius. Šablonų metodas leidžia mums sukurti poklasį, apibrėžiantį tam tikrus algoritmo žingsnius, nekeičiant algoritmo struktūros.

Lankytojas: Tai apibrėžia naują operaciją klasei be pakeitimų. Atvaizduokite operaciją, kurią reikia atlikti su objekto struktūros elementais. Lankytojas leidžia apibrėžti naują operaciją nekeičiant elementų, kuriuose jis veikia, klasės.

Tuo mes artėjame prie šio straipsnio pabaigos. Tikiuosi, kad supratote „JavaScript“ dizaino modelius, jų tipus, svarbą ir įgyvendinimą.

Dabar, kai supratote „JavaScript“ dizaino modelių pagrindus, patikrinkite sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje. „Edureka“ „Java J2EE“ ir SOA mokymo ir sertifikavimo kursai yra skirti studentams ir specialistams, norintiems būti „Java“ kūrėjais. Kursas sukurtas tam, kad galėtumėte pradėti programuoti „Java“ ir išmokyti pagrindines ir pažangiausias „Java“ koncepcijas kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate“ Pavasaris .

Turite mums klausimą? Paminėkite tai šio tinklaraščio „Dizaino modeliai„ JavaScript “komentarų skiltyje ir mes kuo greičiau susisieksime su jumis.