Вы найдете ответ на свой вопрос субъективным, и каждый человек может ответить на него немного по-своему.
Лично я стараюсь соблюдать достаточное разделение, так как не знаю, где мои требования меняются вбудущее.Например, я собирался создать приложение ASP.NET, а затем попросил сделать ту же версию WinForm.
Добавление вашей модели в независимую сборку позволяет вам повторно использовать эту сборку независимо от типа проекта.Поэтому, если я собираюсь создать приложение Silverlight или приложение Winform, я могу использовать одну и ту же модель.
Но я считаю, что суть вашего вопроса заключается в том, следует ли разделить модель данных для каждого веб-сервиса на отдельную сборку.,Я думаю, что это немного излишне - выделять каждого в свой проект.
Я бы позаботился о том, чтобы модель не зависела от кода веб-служб, поскольку, если вы измените требования в будущем, вы можете получить данные другим способом.
Для меня ключевыми областями разделения являются:
- Уровень доступа к данным
- Уровень бизнес-объектов (модель)
- Уровень интерфейса пользователя