En kort guide til designmønstrene i JavaScript

Denne artikkelen vil hjelpe deg med en detaljert tilnærming om designmønstrene i JavaScript på en forenklet måte for bedre forståelse.

er de avanserte objektorienterte løsningene på ofte tilbakevendende programvareproblemer. Mønstre er gjenbrukbare design og interaksjoner av objekter. Hvert mønster har et navn og blir en del av et ordforråd når man diskuterer komplekse designløsninger.

Hva er designmønstre i JavaScript?

kan defineres som en programvaremal eller en beskrivelse for å løse et problem som oppstår i flere tilfeller mens du designer et programvareapplikasjon eller et programvarerammeverk.



Builder Design Patterns

La oss nå diskutere Gang of Four (GoF)

Gang of Four

De 23 Gang of Four (GoF) mønstre blir vanligvis ansett som grunnlaget for alle de andre mønstrene.

The Gang of Four (GoF) fra designmønstre:

Elements of Reusable Object-Oriented Software, Addison-Wesley Professional Computing Series, av Erich Gamma, Richard Helm, Ralph Jhonson, og John Vlissides. TDisse 23 GoF-mønstrene anses generelt som grunnlaget for alle andre mønstre.De er kategorisert i tre grupper: Kreasjonelle, strukturelle og atferdsmessige.

Typer designmønstre

Det er i utgangspunktet tre forskjellige typer designmønstre i JavaScript. De er som følger:

Skapelsesmønstre

Abstrakt fabrikk: Dette skaper en forekomst med flere familier av klasser. Dette gir et grensesnitt for å lage familier som er relaterte eller avhengige objekter uten spesifikasjon av deres konkrete klasser.

Bygger: Denne skilte objektkonstruksjonen fra dens representasjon. Skiller også konstruksjonen av et komplekst objekt fra dets representasjon slik at den samme konstruksjonsprosessen kan opprettes med forskjellige representasjoner.

Fabrikkmetode: Dette skaper en forekomst for flere avledede klasser. Definerer også et grensesnitt for å lage et objekt, men det lar underklassen bestemme hvilken klasse som skal instansieres. Dette har også en fabrikkmetode som lar en klasse utsette instantiering til underklasser.

Prototype: Det er en fullstendig initialisert forekomst som kan kopieres eller klones. Spesielt den typen objekter som skal opprettes ved hjelp av en prototypisk forekomst, oppretter nye objekter ved å kopiere denne prototypen.

Singleton: Det er fullt initialiserte tilfeller å kopiere eller klone.Det er av spesifikk type objekter å lage ved hjelp av en prototypisk forekomst og opprette nye objekter ved å kopiere denne prototypen.

Strukturelle mønstre

Adapter: Den samsvarer med grensesnittene til de forskjellige klassene. Konverterer også grensesnittet til en klasse til et annet grensesnitt bortsett fra det som har klienten. Adapteren lar også klasser samarbeide som ellers ikke kunne ha vært på grunn av kompatibilitetsgrensesnittene.

Bro: Det skiller et objekts grensesnitt fra implementeringen. Koble et abstrakt fra implementeringen slik at de to kan variere uavhengig.

Sammensatte: En trestruktur er av enkle og sammensatte objekter, sammensatte gjenstander i trestrukturer for å representere del-hele hierarkier. Composite lar kundene behandle individuelle objekter og komposisjoner av objekter jevnt.

Dekoratør: Legger ansvaret til objekter dynamisk. Legger tilleggsansvaret til et objekt dynamisk. Dekoratører gir også et fleksibelt alternativ til underklasse for utvidelse av funksjonalitet.

Fasade: En enkelt klasse som representerer et helt delsystem og gir et enhetlig grensesnitt til et sett med grensesnitt i et system. Fasade definerer et grensesnitt på høyere nivå som gjør delsystemet enklere å bruke.

Flyvekt: En finkornet forekomst som brukes til effektiv deling for å støtte et stort antall finkornede gjenstander effektivt. En flyvevekt er et delt objekt som kan brukes i flere sammenhenger samtidig.Flyvekten fungerer også som et uavhengig objekt i hver sammenheng - Det kan ikke skilles fra en forekomst av objektene som ikke deles.

Fullmakt: Det er et objekt som representerer et annet objekt. Det gir et surrogat eller et stedholderobjekt for å kontrollere tilgangen til det.

Atferdsmønstre:

Ansvarskjede: Det er en måte å sende en forespørsel mellom en kjede av objekter. Den unngår koblingen med avsenderen og sender en forespørsel til mottakeren ved å gi mer enn ett objekt en sjanse til å håndtere forespørselen. De mottatte gjenstandene lenkes og sendes forespørselen langs kjedet til et objekt håndterer det.

Kommando: Den innkapsler en kommandoforespørsel som et objekt. Innkapslet forespørsel som et objekt, slik at du kan parametere klienter med forskjellige forespørsler, kø- eller loggforespørsler, og støtte de angrebare operasjonene.

Tolk: Det er en måte å inkludere språkelementer i et program. Gitt et språk, definer en representasjon for grammatikken sammen med en tolk som bruker representasjonen til å tolke setninger på språket.

hva er autoboksing i java

Iterator: Den sekvensielle tilgangen til elementene i en samling gir en måte å få tilgang til elementene i et samlet objekt sekvensielt uten å avsløre den underliggende representasjonen.

Megler: Den definerer forenkler kommunikasjonen mellom klassene. Definer et objekt som innkapsler hvordan et sett med objekter samhandler. Megler fremmer løs kobling ved å hindre at objekter refererer til hverandre eksplisitt, og det lar deg variere deres interaksjon uavhengig.

Minne: Den fanger opp og gjenoppretter objektets indre tilstand. Det bryter ikke innkapsling, fanger og eksternaliserer et objekts interne tilstand slik at objektet kan gjenopprettes til denne tilstanden senere.

Observatør: Det er en måte å varsle endringen til en rekke klasser. Den definerer en en-til-mange avhengighet mellom objekter, slik at når et objekt endrer tilstand, blir alle dets avhengig varslet og oppdatert automatisk.

Stat: Det endrer oppførselen til et objekt når dets tilstand endres. Tillater at et objekt endrer oppførselen når det er intern tilstandsendring. Objektet ser ut til å endre klasse.

Strategi: Den innkapsler en algoritme i en klasse og definerer en familiealgoritme, innkapsler hver enkelt og gjør den utskiftbar. Strategi lar algoritmen variere uavhengig av klientene som bruker den.

Mal: Utsett de nøyaktige trinnene til en algoritme til en underklasse. Den definerer skjelettet til en algoritme i en operasjon, og utsetter noen viktige trinn til underklasser. Malmetode lar oss lage en underklasse som omdefinerer visse trinn i en algoritme uten å endre algoritmens struktur.

Besøkende: Den definerer en ny operasjon til en klasse uten endring. Representere en operasjon som skal utføres på elementene i en objektstruktur. Visitor lar deg definere en ny operasjon uten å endre klassene til elementene den opererer på.

Med dette kommer vi til slutten av denne artikkelen. Jeg håper du har forstått designmønstrene i JavaScript, deres typer, viktighet og implementering.

Nå som du har forstått det grunnleggende om designmønstre i JavaScript, kan du sjekke ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Edurekas Java J2EE- og SOA-opplæring og sertifiseringskurs er designet for studenter og fagpersoner som ønsker å være Java-utvikler. Kurset er designet for å gi deg et forsprang i Java-programmering og trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Vår .

Har du et spørsmål til oss? Nevn det i kommentarfeltet i denne 'Design Patterns in JavaScript' -bloggen, så kommer vi tilbake til deg så snart som mulig.