Организация классов в пространства имен - PullRequest
4 голосов
/ 28 сентября 2008

Существуют ли какие-либо принципы организации классов в пространства имен?

Например, нормально ли, если классы из пространства имен N зависят от классов из N.X? А если классы от N.X зависят от классов от N?

Ответы [ 2 ]

5 голосов
/ 28 сентября 2008

В общем, это будет хорошо для вашего примера, если ваши пакеты были "N.UI" и "N.Util". Я видел пространства имен, используемые в двух общих модах:

1) Все уровни системы имеют пространство имен (то есть база данных, веб, бизнес и т. Д.)
2) Каждый компонент имеет пространство имен (т. Е. Customer, Invoice) и многоуровневое пространство имен, расположенное под

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

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

2 голосов
/ 28 сентября 2008

Классы ib N.X могут полагаться на классы в N. Но классы в N не должны полагаться на классы в N.X, это плохой дизайн.

Некоторые рекомендации по пространству имен: http://msdn.microsoft.com/en-us/library/893ke618.aspx

...