В общем, это будет хорошо для вашего примера, если ваши пакеты были "N.UI" и "N.Util". Я видел пространства имен, используемые в двух общих модах:
1) Все уровни системы имеют пространство имен (то есть база данных, веб, бизнес и т. Д.)
2) Каждый компонент имеет пространство имен (т. Е. Customer, Invoice) и многоуровневое пространство имен, расположенное под
В любом случае подпространства имен были бы взаимосвязанными пакетами в более широком пространстве имен, поэтому для вашего пользовательского интерфейса было бы прекрасно зависеть от ваших доменных объектов.
Однако, хотя было бы неплохо, чтобы классы NX зависели от классов из N, я не думаю, что было бы разумно, чтобы классы из N зависели от классов из NX - похоже, вы могли бы использовать некоторую реорганизацию этот случай.