Richtlijnen voor typeontwerp
Vanuit het perspectief van CLR zijn er slechts twee categorieën typen( verwijzingstypen en waardetypen), maar voor een discussie over frameworkontwerp verdelen we typen in meer logische groepen, elk met eigen specifieke ontwerpregels.
Klassen zijn het algemene referentietype. Ze vormen het grootste deel van de typen in het merendeel van de frameworks. Klassen zijn hun populariteit verschuldigd aan de rijke set objectgeoriënteerde functies die ze ondersteunen en aan hun algemene toepasbaarheid. Basisklassen en abstracte klassen zijn speciale logische groepen met betrekking tot uitbreidbaarheid.
Interfaces zijn typen die kunnen worden geïmplementeerd door zowel referentietypen als waardetypen. Ze kunnen dus fungeren als wortels van polymorfe hiërarchieën van referentietypen en waardetypen. Bovendien kunnen interfaces worden gebruikt om meerdere overnames te simuleren, die niet systeemeigen worden ondersteund door de CLR.
Structs zijn het algemene geval van waardetypen en moeten worden gereserveerd voor kleine, eenvoudige typen, vergelijkbaar met taalprimitieven.
Enums zijn een speciaal geval van waardetypen die worden gebruikt voor het definiëren van korte sets waarden, zoals dagen van de week, consolekleuren, enzovoort.
Statische klassen zijn typen die zijn bedoeld als containers voor statische leden. Ze worden vaak gebruikt om snelkoppelingen naar andere bewerkingen te bieden.
Gedelegeerden, uitzonderingen, kenmerken, matrices en verzamelingen zijn allemaal speciale gevallen van referentietypen die zijn bedoeld voor specifiek gebruik en richtlijnen voor hun ontwerp en gebruik worden elders in dit boek besproken.
✔️ Zorg ervoor dat elk type een goed gedefinieerde set gerelateerde leden is, niet alleen een willekeurige verzameling niet-gerelateerde functionaliteit.
In deze sectie
Kiezen tussen klasse en struct
Abstract Class Design
Ontwerp van statische klasse
Interfaceontwerp
Ontwerp van struct
Opsommingsontwerp
Geneste typen
© Delen 2005, 2009 Microsoft Corporation. Alle rechten voorbehouden.
Herdrukt door toestemming van Pearson Education, Inc. van Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition by Krzysztof Cwalina and Brad Abrams, published oct 22, 2008 by Addison-Wesley Professional als onderdeel van de Microsoft Windows Development Series.