Поделиться через


Типы и пространства имен

Обновлен: Ноябрь 2007

Следующие правила помогут объединить требуемые типы и пространства имен таким образом, чтобы их можно было быстро найти и использовать.

Используйте пространства имен для организации типов в иерархию связанных предметных областей.

Избегайте слишком глубокой иерархии пространств имен. Такие иерархии сложны для обзора, так как пользователю приходится часто возвращаться назад.

Избегайте слишком большого числа пространств имен.

Типы, используемые в одних и тех же сценариях, должны по возможности располагаться в тех же самых пространствах имен. Пользователи не должны быть вынуждены импортировать слишком большое число пространств имен для разрабатываемых сценариев.

Не допускайте, чтобы типы для сложных сценариев располагались в том же пространстве имен, что и типы, предназначенные для обычных сценариев.

В общем случае, следует размещать расширенные типы в пространстве имен внутри основного пространства имен и использовать Advanced в качестве последнего идентификатора имени. Например, общецелевые типы, относящиеся к XML-сериализации, находятся в пространстве имен System.Xml.Serialization, а расширенные типы – в пространстве имен System.Xml.Serialization.Advanced.

Не определяйте типы без указания их пространства имен.

Типы, которым не назначены пространства имен, располагаются в глобальном пространстве имен. Так как они не находятся в специальном пространстве имен, типы в глобальном пространстве имен сложно найти при помощи инструментов разработчика. Кроме того, коллизии по именам в глобальном пространстве имен не могут быть разрешены. Дополнительные сведения см. в разделе Имена пространств имен..

Охраняется авторским правом Copyright 2005 Microsoft Corporation. Все права защищены.

Охраняется авторским правом Copyright Addison-Wesley Corporation. Все права защищены.

Дополнительные сведения о руководствах по разработке см. в книге "Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries", Krzysztof Cwalina and Brad Abrams, Addison-Wesley, 2005.

См. также

Другие ресурсы

Правила разработки типов

Руководство по разработке библиотек классов