Richtlinien für den Entwurf von Typen
Aus Sicht der CLR gibt es nur zwei Kategorien von Typen (Verweistypen und Wertetypen), aber zum Zweck der Behandlung des Frameworkentwurfs teilen wir die Typen in logischere Gruppen ein, die jeweils ihre eigenen spezifischen Entwurfsregeln aufweisen.
Klassen sind der allgemeine Fall von Verweistypen. Sie bilden die Mehrzahl der Typen in den meisten Frameworks. Klassen verdanken ihre Beliebtheit dem umfangreichen Satz von objektorientierten Funktionen, die sie unterstützen, und ihrer allgemeinen Anwendbarkeit. Basisklassen und abstrakte Klassen sind spezielle logische Gruppen in Bezug auf Erweiterbarkeit.
Schnittstellen sind Typen, die durch Verweistypen und Werttypen implementiert werden können. Sie können daher als Stämme von polymorphen Hierarchien von Verweistypen und Werttypen fungieren. Außerdem können Schnittstellen verwendet werden, um mehrfache Vererbung zu simulieren, was von der CLR nicht nativ unterstützt wird.
Strukturen sind der allgemeine Fall von Werttypen und sollten für kleine, einfache Typen reserviert werden, ähnlich wie Sprachprimitive.
Enumerationen sind ein Spezialfall von Werttypen, die zum Definieren kurzer Wertesätze verwendet werden, z. B. von Wochentagen, Konsolenfarben usw.
Statische Klassen sind Typen, die als Container für statische Member vorgesehen sind. Sie werden häufig verwendet, um Verknüpfungen mit anderen Vorgängen bereitzustellen.
Delegaten, Ausnahmen, Attribute, Arrays und Sammlungen sind allesamt Spezialfälle von Verweistypen, die für bestimmte Verwendungszwecke vorgesehen sind. Richtlinien für ihren Entwurf und ihre Verwendung werden an anderer Stelle in dieser Dokumentation behandelt.
✔️ Stellen Sie SICHER, dass jeder Typ eine klar definierte Gruppe verwandter Member ist, nicht nur eine zufällige Sammlung nicht in Beziehung stehender Funktionen.
In diesem Abschnitt
Auswählen zwischen Klasse und Struktur
Entwurf abstrakter Klassen
Entwurf statischer Klassen
Schnittstellenentwurf
Strukturentwurf
Enum-Entwurf
Geschachtelte Typen
Teile ©2005, 2009 Microsoft Corporation. Alle Rechte vorbehalten.
Nachdruck mit Genehmigung von Pearson Education, Inc aus Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition von Krzysztof Cwalina und Brad Abrams, veröffentlicht am 22. Oktober 2008 durch Addison-Wesley Professional als Teil der Microsoft Windows Development Series.