Typy — zalecenia dotyczące projektowania

Z perspektywy środowiska CLR istnieją tylko dwie kategorie typów — typy referencyjne i typy wartości — ale na potrzeby dyskusji na temat projektowania struktury dzielimy typy na bardziej logiczne grupy, z których każda ma własne specyficzne reguły projektowania.

Klasy są ogólnym przypadkiem typów odwołań. Stanowią one większość typów w większości struktur. Klasy zawdzięczają swoją popularność bogatemu zestawowi cech zorientowanych na obiekty, które obsługują i ich ogólnej stosowania. Klasy podstawowe i klasy abstrakcyjne to specjalne grupy logiczne związane z rozszerzalnością.

Interfejsy to typy, które mogą być implementowane zarówno przez typy referencyjne, jak i typy wartości. Mogą one zatem służyć jako korzenie hierarchii polimorficznych typów referencyjnych i typów wartości. Ponadto interfejsy mogą służyć do symulowania wielu dziedziczenia, który nie jest natywnie obsługiwany przez CLR.

Struktury są ogólnym przypadkiem typów wartości i powinny być zarezerwowane dla małych, prostych typów, podobnych do typów pierwotnych języka.

Wyliczenia są specjalnym przypadkiem typów wartości używanych do definiowania krótkich zestawów wartości, takich jak dni tygodnia, kolory konsoli itd.

Klasy statyczne to typy przeznaczone do kontenerów dla statycznych elementów członkowskich. Są one często używane do udostępniania skrótów do innych operacji.

Delegaty, wyjątki, atrybuty, tablice i kolekcje są specjalnymi przypadkami typów referencyjnych przeznaczonych do określonych zastosowań, a wskazówki dotyczące ich projektowania i użycia są omawiane w innej części tej książki.

✔️ Upewnij się, że każdy typ jest dobrze zdefiniowanym zestawem powiązanych elementów członkowskich, a nie tylko losową kolekcją niepowiązanych funkcji.

W tym obszarze

Wybieranie między klasą i strukturą
Projekt klasy abstrakcyjnej
Projekt klasy statycznej
Projekt interfejsu
Projekt struktury
Projekt wyliczeń
Zagnieżdżone typy
© Części 2005, 2009 Microsoft Corporation. Wszelkie prawa zastrzeżone.

Reprinted by permission of Pearson Education, Inc. from 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 w ramach Microsoft Windows Development Series.

Zobacz też