Как лучше всего назвать ваше пространство имен в .Net - PullRequest
4 голосов
/ 14 ноября 2008

В прошлом я всегда обращался и называл свое пространство имен для конкретного проекта таким же, как проект (и основной класс), например ::100100

namespace KeepAlive
{
    public partial class KeepAlive : ServiceBase
    {...

Затем из других проектов, когда бы я ни назвал этот класс, он всегда был:

KeepAlive.KeepAlive()...

Сейчас я начинаю думать, что это может быть не очень хорошая идея, но я как бы озадачен тем, что на самом деле назвать моим пространством имен. Что делают другие люди? У вас есть только одно пространство имен для всех ваших проектов?

Ответы [ 6 ]

7 голосов
/ 14 ноября 2008

У нас есть простая схема:

  CompanyName.ProductName

Затем прикладной уровень, например

  CompanyName.ProductName.Data
  CompanyName.ProductName.Web

и т.д.

И внутри, разделенные на модуль и / или функциональность, которые обычно соответствуют папкам

  CompanyName.ProductName.Web.Shop
  CompanyName.ProductName.Web.Newsletter

и т.д.

Кстати: ответы на похожие вопросы вы можете найти здесь:

7 голосов
/ 14 ноября 2008

Иметь имя класса, совпадающее с пространством имен, - плохая идея - по моему мнению, в некоторых случаях довольно сложно ссылаться на правильную вещь.

Обычно я называю проект (и пространство имен) подходящим именем, а затем, при необходимости, имею «EntryPoint» или «Программа» для точки входа. В вашем примере я бы, вероятно, назвал класс KeepAliveService.

5 голосов
/ 14 ноября 2008

CompanyName.ProductName.AreaOfSystem.SubAreaOfSystem

Никогда не называйте их так же, как в классе.

Наши области включают в себя такие вещи, как:

  • Услуга
  • 1010 * Smartcard *
  • UI

Подзоны используются экономно, но при необходимости:

  • Smartcard.Mifare
  • Smartcard.DESFire

Наши не соответствуют папкам, потому что логически это может быть не так. Чтобы упростить навигацию в обозревателе решений, мы можем разделить определенные биты в папках, но это не обязательно означает, что пространства имен должны следовать структуре папок. Особенно, если в папке всего несколько файлов (пространство имен с несколькими типами обычно глупо).

3 голосов
/ 14 ноября 2008

я называю свои пространства имен общим дескриптором всех вещей, которые входят в это пространство имен.

0 голосов
/ 14 ноября 2008

мы придерживаемся старого

uk.co.company.system.layer

Схема, позволяющая сводить коллизии до минимума, поскольку мы используем много продуктов MS Server, и это помогает концептуальным разделениям.

например.

uk.co.acme.biztalk.bizutils.

0 голосов
/ 14 ноября 2008

Мне нравится способ пакета java: com.stackoverflow.Data (или каким бы ни было основное доменное имя вашей компании).
Таким образом, ваши пространства имен не будут неоднозначными.

...