Ontwerppatronen worden hoofdzakelijk in drie categorieën onderverdeeld: Creatief ontwerppatroon, structureel ontwerppatroon en gedragsontwerppatroon. Deze verschillen van elkaar op basis van hun detailniveau, complexiteit en schaal van toepasbaarheid op het gehele systeem dat wordt ontworpen.
Er zijn ook twee soorten patronen: idiomen en architecturale patronen. Maar we zullen ze in deze tutorial niet onderzoeken.
Creatief ontwerppatroon
Zoals de naam al doet vermoeden, biedt het het mechanisme voor het maken van objecten of klassen dat de flexibiliteit en herbruikbaarheid van de bestaande code vergroot. Ze verminderen de afhankelijkheid en controleren hoe de gebruiksinteractie met onze klas verloopt, zodat we niet met de complexe constructie te maken krijgen. Hieronder vindt u de verschillende ontwerppatronen van het creational-ontwerppatroon.
abstracte fabriek- Het stelt ons in staat objecten te creëren zonder hun concrete type te specificeren.
Bouwer - Het wordt gebruikt om de complexe objecten te maken.
Fabrieksmethode - Hiermee kunnen we objecten maken zonder de exacte klasse op te geven die we moeten maken.
uitzondering gooit java
Prototype - Het wordt gebruikt om een nieuw object te maken van het bestaande object.
Singleton- Singleton-ontwerppatroon zorgt ervoor dat er slechts één exemplaar van een object wordt gemaakt.
Structurele ontwerppatronen
Structurele ontwerppatronen die voornamelijk verantwoordelijk zijn voor het samenvoegen van objecten en klassen in een grotere structuur en ervoor zorgen dat deze structuur flexibel en efficiënt moet zijn. Ze zijn zeer essentieel voor het verbeteren van de leesbaarheid en onderhoudbaarheid van de code. Het zorgt er ook voor dat functionaliteiten goed gescheiden en ingekapseld zijn. Het vermindert de minimale interface tussen onderling afhankelijke dingen.
Adapter - Het biedt ons de mogelijkheid om twee incompatibele klassen samen te laten werken door een interface rond een van de bestaande klassen te wikkelen.
Composiet - Het verpakt een groep objecten in één enkel object.
Brug - Het ontkoppelt een abstractie zodat twee klassen onafhankelijk kunnen variëren.
spel duif Android
Decorateur - Het breidt het objectgedrag dynamisch uit tijdens de runtime.
Gevel - Het biedt een eenvoudige interface voor complexere onderliggende objecten.
Vlieggewicht - Het verlaagt de kosten van een complex objectmodel.
Volmacht - Het verlaagt de kosten, vermindert de complexiteit en biedt een tijdelijke interface voor een onderliggend object om de toegang te controleren.
Gedrag ontwerppatroon
Gedragsontwerppatronen zijn verantwoordelijk voor de manier waarop de ene klas met de andere communiceert.
Keten van verantwoordelijkheid - Het vertegenwoordigt het commando voor een keten van verwerkingsobjecten.
Commando - Het genereert de objecten die acties van parameters inkapselen.
Tolk - Het implementeert een gespecialiseerde taal.
Iterator- Het heeft opeenvolgend toegang tot alle elementen van een object zonder de onderliggende representatie ervan te schenden.
Bemiddelaar - Het zorgt voor de losse koppeling tussen klassen doordat het de enige klasse is die gedetailleerde kennis heeft van hun bestaande methoden.
Aandenken - Het herstelt een object in de vorige staat.
Waarnemer - Hiermee kunnen een aantal waarnemersobjecten een gebeurtenis zien.
Staat - Het stelt een object in staat zijn gedrag te wijzigen wanneer de interne toestand verandert.
Strategie - Het biedt een van de algoritmefamilies die tijdens de runtime moeten worden geselecteerd.
t flip-flop
Sjabloonmethode - Het stelt de subklassen in staat concreet gedrag te bieden. Het definieert ook het skelet van een algoritme als een abstracte klasse.
Bezoeker - Het scheidt een algoritme van een objectstructuur door de hiërarchie van methoden naar één object te verplaatsen.
We zullen een paar belangrijke ontwerppatronen leren in de komende tutorial.