2008-09-15 6 views
3

Я использую проект ASP.NET MVC, и каждый раз, когда я добавляю класс в папку, он создает очень длинные пространства имен.Пространства имен в C#

Пример:

Project = Tully.Saps.Data 
Folder = DataAccess/Interfaces 
Namespace = Tully.Saps.Data.DataAccess.Interfaces 

Folder = DataAccess/MbNetRepositories 
Namespace = Tully.Saps.Data.DataAccess.MbNetRepositories 

Вопрос:
ли это лучше оставить в покое пространство имен и добавьте используя условие для классов, доступ к нему или изменить пространство имен для Tully.Saps.Data для всего, что в этом проекте?

ответ

1

Оставьте их в покое и добавьте их. Вы просите о том, чтобы вручную изменить такие вещи (сложнее отлаживать, несовместимо с другими проектами и т. Д.).

0

Это действительно зависит от вас, как вы хотите справиться с этим. Если вы только собираетесь получать доступ к члену пространства имен один или два раза, то добавление оператора «using» действительно мало для вас.

Если вы собираетесь использовать его несколько раз, то сокращение цепочки пространства имен, вероятно, облегчит чтение.

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

0

Согласно FXCop, и я согласен:

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

Пространство имен должно, как правило, больше, чем пять типов.

также (и это относится к «одного пространства имен» предложение - которое почти то же самое, чтобы сказать, как не имен)

Объявляет типы в пространствах имен

тип должен быть определен внутри пространства имен, чтобы избежать дублирования.

0
  • Namespaces

.Namespaces помогают нам определить «сферу» множества сущностей в нашей объектной модели или нашего приложения. Это делает их решением для разработки программного обеспечения не решением структуры папок. Например, в приложении MVC было бы разумно иметь папки Model/View/Controller и связанные пространства имен. Поэтому, хотя в некоторых случаях возможно, что структура папок будет соответствовать шаблону пространства имен, который мы решили использовать в нашей разработке, это не требуется и может быть не тем, что мы хотим.Каждое пространство имена должны быть решением

  • от случая к случаю, используя операторы

Чтобы определить с помощью инструкций для пространства имен является индивидуальным решением, основанными на том, как часто объект в этом пространстве имен будет упоминаться в кода и никоим образом не должны влиять на нашу практику создания пространства имен.

0

Оставьте это. Это отличный пример того, как ваша среда разработки диктует ваш стиль кодирования.

0

Просто потому, что используемый вами инструмент (Visual Studio) решил, что для каждой папки требуется новое пространство имен, это не значит, что вы это делаете.
Я лично предпочитаю оставлять проекты «Данные» как единое пространство имен. Если у меня есть подпапка под названием «Модель», я не хочу этих файлов в пространстве имен Something.Data.Model, я хочу их в Something.Data.

Смежные вопросы