как вы организуете свои пространства имен? - PullRequest
5 голосов
/ 23 сентября 2008

Итак, у меня есть логические сущности (человек, страна и т. Д.), Элементы / элементы управления GUI, контроллеры / менеджеры данных и навигации, затем такие вещи, как квад-деревья и таймеры, и я всегда борюсь с чистым разделением этих вещей на логические пространства имен .

У меня обычно есть что-то вроде этого:

  • Leviathan.GUI.Controls
  • Leviathan.GUI.Views
  • Leviathan.Entities
  • Левиафан. Контроллеры (данные и прочее)
  • Левиафан. Помощники (деревья и прочее)

Есть ли хорошие руководства по этому вопросу? Мне нужно остановить этот беспорядок.

Ответы [ 4 ]

3 голосов
/ 23 сентября 2008

Для приложений

Company.Product.Tier.Sub.Sub

где мне нравится получать Tier от Model, View, Controller или других установленных имен (Data)

Но для нашего контроля мы получаем

Company.Product.LogicalFeatureGrouping

или

Company.Product.Addon

иногда это

Company.Product.LogicalFeatureGrouping.Addon
2 голосов
/ 23 сентября 2008

Старайтесь избегать «и прочее» или «разное». категории, если вы помещаете вещи в эти категории, вы не можете организовать их вообще.

1 голос
/ 23 сентября 2008

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

0 голосов
/ 23 сентября 2008

Я следую идеалу Java / python, согласно которому пространства имен должны соответствовать структуре каталогов.

...