Projekt klasy statycznej

Uwaga

Ta zawartość jest drukowana przez uprawnienie Pearson Education, Inc. z Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition. Wydanie to zostało opublikowane w 2008 roku, a książka została w pełni zmieniona w trzecim wydaniu. Niektóre informacje na tej stronie mogą być nieaktualne.

Klasa statyczna jest definiowana jako klasa zawierająca tylko statyczne elementy członkowskie (oczywiście oprócz składowych wystąpienia dziedziczone z System.Object i prawdopodobnie konstruktora prywatnego). Niektóre języki zapewniają wbudowaną obsługę klas statycznych. W języku C# 2.0 lub nowszym, gdy klasa jest zadeklarowana jako statyczna, jest zapieczętowana, abstrakcyjna i nie można zastąpić ani zadeklarować żadnych składowych wystąpień.

Klasy statyczne są kompromisem między czystym projektem zorientowanym na obiekty a prostotą. Są one często używane do udostępniania skrótów do innych operacji (takich jak System.IO.File), posiadaczy metod rozszerzenia lub funkcjonalności, dla których pełną otokę zorientowaną na obiekt jest nieuzasadniona (na przykład System.Environment).

✔️ Nie należy używać klas statycznych oszczędnie.

Klasy statyczne powinny być używane tylko jako klasy pomocnicze dla rdzenia obiektowego platformy.

❌ NIE traktuj klas statycznych jako zasobnika różnego.

❌ NIE deklaruj ani nie przesłaniaj składowych wystąpień w klasach statycznych.

✔️ Deklaruj klasy statyczne jako zapieczętowane, abstrakcyjne i dodaj konstruktor wystąpienia prywatnego, jeśli język programowania nie ma wbudowanej obsługi klas statycznych.

© 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ż