Sdílet prostřednictvím


Pokyny k návrhu typu

Z hlediska CLR existují pouze dvě kategorie typů – odkazové typy a typy hodnot– ale pro účely diskuze o návrhu architektury rozdělíme typy do více logických skupin, z nichž každá má vlastní specifická pravidla návrhu.

Třídy jsou obecnými typy odkazů. Tvoří většinu typů ve většině architektur. Třídy dluží své popularitě bohaté sadě objektově orientovaných funkcí, které podporují, a jejich obecné použitelnosti. Základní třídy a abstraktní třídy jsou speciální logické skupiny související s rozšiřitelností.

Rozhraní jsou typy, které lze implementovat jak referenčními typy, tak typy hodnot. Mohou tak sloužit jako kořeny polymorfních hierarchií referenčních typů a hodnotových typů. Kromě toho lze rozhraní použít k simulaci vícenásobné dědičnosti, která clR nativně nepodporuje.

Struktury jsou obecným případem typů hodnot a měly by být vyhrazeny pro malé, jednoduché typy podobné primitivům jazyka.

Výčty jsou zvláštní případ typů hodnot, které slouží k definování krátkých sad hodnot, jako jsou dny v týdnu, barvy konzoly atd.

Statické třídy jsou typy určené jako kontejnery pro statické členy. Běžně se používají k poskytování klávesových zkratek k jiným operacím.

Delegáti, výjimky, atributy, pole a kolekce jsou všechny zvláštní případy odkazových typů určených pro konkrétní použití a pokyny pro jejich návrh a použití jsou popsány jinde v této knize.

✔️ Ujistěte se, že každý typ je dobře definovaná sada souvisejících členů, nejen náhodná kolekce nesouvisejících funkcí.

V této části

Volba mezi třídou a strukturou
Návrh abstraktní třídy
Návrh statické třídy
Návrh rozhraní
Návrh struktury
Návrh výčtu
Vnořené typy
© Části 2005, 2009 Microsoft Corporation. Všechna práva vyhrazena.

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 v rámci Microsoft Windows Development Series.

Viz také