Как вы организуете свои пространства имен?


5

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

я обычно что-то вроде этого:

  • Leviathan.GUI.Controls
  • Leviathan.GUI.Views
  • Leviathan.Entities
  • Leviathan.Controllers (данные и другие вещи)
  • Leviathan.Helpers (деревья и прочее)

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

2

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

  0

мои мысли, мне просто трудно найти место для структур данных, которые я использую редко, но по-прежнему необходимы, например, QuadTree или BinaryTree ... 23 сен. 082008-09-23 19:18:27

  0

Эй, извините, я просто заметил окно комментариев !! Просто нашел эту функцию. Я бы постарался найти что-то, что является общей нитью между по крайней мере 2 из них. Если он не имеет ничего общего с каким-либо другим пространством имен, его можно классифицировать. Но правило ouline # 1 no A без B. Надеюсь, это поможет 26 сен. 082008-09-26 13:00:31


3

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

Company.Product.Tier.Sub.Sub 

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

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

Company.Product.LogicalFeatureGrouping 

или

Company.Product.Addon 

иногда

Company.Product.LogicalFeatureGrouping.Addon 

0

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

+1

, что приведет нас к следующему вопросу: как вы организуете структуру каталогов :) Я делаю то же самое, мои пространства имен привязаны к структуре папок 23 сен. 082008-09-23 19:21:47

  0

Я считаю, что прочитал стандарт где-то о доменах ... например, начиная с домена верхнего уровня (org, com. gov, mil) и заканчивая именем проекта и его подкомпонентами. 23 сен. 082008-09-23 19:25:14


1

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