Мне любопытно, какой предпочтительный способ структурировать приложение с помощью исполняемой клиентской программы, исполняемой серверной программы и совместно используемой модели в решениях и проектах (с использованием Visual Studio и C #). Привыкнув к разработке Java, я изначально рассматривал проекты как пакеты и определял проект для каждого пакета, который я разработал.
Это привело к решению с шестью проектами (одно для модели, одно для сервера и четыре для клиента), что, в свою очередь, привело к некоторым глупым зависимостям, заставляющим меня пересмотреть, если это лучший подход.
Теперь я планирую реструктурировать решение по трем проектам: клиентский проект, северный проект и модельный проект. И клиент, и сервер будут зависеть от проекта модели (в который я также добавлю общий интерфейс между клиентом и сервером).
Это лучший способ структурировать такое приложение?
Кроме того, как лучше всего отобразить пространства имен в древовидной структуре Visual Studio? (Например, просто создать похожую структуру папок?).