Лучшее решение / структура проекта Visual Studio для клиент-серверного проекта с общей моделью

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

Это привело к решению из шести проектов (один для модели, один для сервера и четыре для клиента), что, в свою очередь, привело к некоторым глупым зависимостям, заставившим меня пересмотреть, является ли это лучшим подходом.

Теперь я планирую реструктурировать решение до трех проектов: клиентский проект, отдельный проект и модельный проект. И клиент, и сервер будут зависеть от проекта модели (в который я также добавлю общий интерфейс между клиентом и сервером).

Это лучший способ структурировать такое приложение?

Кроме того, как лучше всего отразить пространства имен в древовидной структуре Visual Studio? (Например, просто создать аналогичную структуру папок?).


person user306699    schedule 29.06.2010    source источник


Ответы (1)


Решение из трех проектов (клиент / сервер / модель) действительно является нормой для вашего сценария.

Что касается пространств имен: Да, ваша структура папок должна отражать используемые вами пространства имен. Пространство имен по умолчанию может быть установлено в свойствах проекта, имена папок добавляются в это пространство имен.

person Adrian Grigore    schedule 29.06.2010