logo

Klassificering af designmønstre

Designmønstre er hovedsageligt kategoriseret i tre kategorier: Kreativt designmønster, strukturelt designmønster og adfærdsdesignmønster. Disse adskiller sig fra hinanden på basis af deres detaljeringsgrad, kompleksitet og anvendelighed for hele systemet, der designes.

Der er også to typer mønstre - formsprog og arkitektoniske mønstre. Men vi vil ikke udforske dem i denne tutorial.

Kreativt designmønster

Som navnet antyder, giver det objektet eller klasserne skabelsesmekanisme, der forbedrer fleksibiliteten og genbrugeligheden af ​​den eksisterende kode. De reducerer afhængigheden og kontrollerer, hvordan brugen interagerer med vores klasse, så vi ikke ville håndtere den komplekse konstruktion. Nedenfor er de forskellige designmønstre af kreativt designmønster.

Abstrakt fabrik- Det giver os mulighed for at skabe objekter uden at specificere deres konkrete type.

Bygger - Det bruges til at skabe de komplekse objekter.

Fabriksmetode - Det giver os mulighed for at oprette objekter uden at angive den nøjagtige klasse, der skal oprettes.

Prototype - Det bruges til at oprette et nyt objekt fra det eksisterende objekt.

markeringsramme html

Singleton - Singleton-designmønster sørger for, at der kun er én forekomst af et objekt, der er oprettet.

Strukturelle designmønstre

Strukturelle designmønstre, der hovedsageligt er ansvarlige for at samle objekter og klasser i en større struktur, hvilket sikrer, at disse strukturer skal være fleksible og effektive. De er meget vigtige for at forbedre læsbarheden og vedligeholdelsen af ​​koden. Det sikrer også, at funktionaliteter er korrekt adskilt, indkapslet. Det reducerer den minimale grænseflade mellem indbyrdes afhængige ting.

Adapter - Det giver os to inkompatible klasser til at arbejde sammen ved at pakke en grænseflade omkring en af ​​de eksisterende klasser.

Sammensatte - Det pakker en gruppe af objekter ind i et enkelt objekt.

Bro - Det afkobler en abstraktion, så to klasser kan variere uafhængigt.

Dekoratør - Det udvider objektets adfærd dynamisk under kørselstiden.

Facade - Det tilbyder en enkel grænseflade til mere komplekse underliggende objekter.

Fluevægt - Det reducerer omkostningerne ved kompleks objektmodel.

Fuldmagt - Det reducerer omkostningerne, reducerer kompleksiteten og giver pladsholdergrænsefladen til et underliggende objekt for at kontrollere adgangen.

Adfærdsdesignmønster

Adfærdsdesignmønstre er ansvarlige for, hvordan en klasse kommunikerer med andre.

Ansvarskæde - Det repræsenterer kommandoen til en kæde af behandlingsobjekt.

Kommando - Det genererer de objekter, som indkapsler handlinger af parametre.

Tolk - Den implementerer et specialiseret sprog.

Iterator - Den får adgang til alle elementer i et objekt sekventielt uden at krænke dets underliggende repræsentation.

Mægler - Det giver den løse kobling mellem klasser ved at være den eneste klasse, der har detaljeret viden om deres eksisterende metoder.

Memento - Det gendanner et objekt i den tidligere tilstand.

Observatør - Det giver en række observatørobjekter mulighed for at se en begivenhed.

Stat - Det tillader et objekt at ændre dets adfærd, når dets interne tilstande ændres.

Strategi - Det giver en af ​​familierne af algoritmer, der skal vælges under kørsel.

Skabelonmetode - Det giver underklasserne mulighed for at give konkret adfærd. Den definerer også skelettet af en algoritme som en abstrakt klasse.

Besøgende - Den adskiller en algoritme fra en objektstruktur ved at flytte hierarkiet af metoder til ét objekt.

Vi vil lære et par vigtige designmønstre i den kommende tutorial.