Návrh pole

Poznámka:

Tento obsah je znovu vytištěn oprávněním Pearson Education, Inc. z Framework Design Guidelines: Conventions, Idioms a Patterns for Reusable .NET Libraries, 2. vydání. Tato edice byla publikována v roce 2008 a kniha byla od té doby plně upravena ve třetím vydání. Některé informace na této stránce můžou být zastaralé.

Princip zapouzdření je jedním z nejdůležitějších pojmů v objektově orientovaném návrhu. Tento princip uvádí, že data uložená v objektu by měla být přístupná pouze pro tento objekt.

Užitečným způsobem, jak interpretovat princip, je říci, že typ by měl být navržen tak, aby změny polí daného typu (změny názvu nebo typu) mohly být provedeny bez porušení kódu jiného než pro členy typu. Tato interpretace okamžitě znamená, že všechna pole musí být soukromá.

Z tohoto striktního omezení vyloučíme konstantní a statická pole jen pro čtení, protože tato pole téměř podle definice se nikdy nevyžadují ke změně.

❌ NEPOSKYTUJTE pole instance, která jsou veřejná nebo chráněná.

Měli byste zadat vlastnosti pro přístup k polím místo toho, aby byly veřejné nebo chráněné.

✔️ POUŽÍVEJTE konstantní pole pro konstanty, které se nikdy nezmění.

Kompilátor vkládá hodnoty polí const přímo do volajícího kódu. Proto hodnoty const nelze nikdy změnit bez rizika porušení kompatibility.

✔️ Pro předdefinované instance objektů používejte veřejná statická readonly pole.

Pokud existují předdefinované instance typu, deklarujte je jako veřejná statická pole jen pro čtení samotného typu.

❌ NEPŘIřazovat instance proměnlivých typů k readonly polím.

Proměnlivý typ je typ s instancemi, které lze po vytvoření instance upravit. Například pole, většina kolekcí a datových proudů jsou proměnlivé typy, ale System.Int32, System.Uria System.String jsou všechny neměnné. Modifikátor jen pro čtení v poli typu odkazu zabraňuje nahrazení instance uložené v poli, ale nezabrání úpravě dat instance pole voláním členů, kteří mění instanci.

Části z © 2005, 2009 Microsoft Corporation. Všechna práva vyhrazena.

Přetištěno se svolením Pearson Education, Inc. z Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition od Krzysztofa Cwaliny a Brada Abramse, vydáno 22. října 2008 nakladatelstvím Addison-Wesley Professional jako součást série Microsoft Windows Development.

Viz také