Вот, допустим, есть приложение, состоящее из довольно обособленных частей: есть некое ядро и подсистемы, которое это ядро используют. Каждая подсистема построена по принципу MVC. Вопрос в том, как правильно организовать структуру проекта:
- Каждую подсистему реализовывать в отдельной сборке со своими пространствами имен: Models, Views, Controllers?
- Создать три общие сборки: Models, Views, Controllers?
Наверняка этот вопрос можно рассматривать с разных аспектов. Вот хотелось бы рассмотреть этот вопрос с разных позиций. Быть может, есть какие-то рекомендации, best practice, так сказать?
Вероятно, тут все зависит от размера приложения, от количества связей между подсистемами. Первый вариант, при условии выноса общих частей в отдельные сборки ядра, представляется мне более правильным. Скажем так: