Для слабой связи вы, как правило, сохраняете интерфейс для этих объектов в отдельной сборке для всех других проектов, на которые можно ссылаться. В моей компании мы называем это сборкой "Контракты", и она обычно содержит только интерфейсы или простые типы .
Что касается , где модель должна идти, , если ваши интерфейсы хранятся в отдельной DLL для всех, вы можете поместить свой модель, где вы хотите . Обычно я считаю, что мои контракты WCF или мои типы ORM (например, Linq2Sql и т. Д.) Являются моей моделью, и я храню их везде, где обычно храню такие вещи. «Модель», которую я считаю немного более плавной ... везде, где чувствует себя хорошо.
Я более жестко отношусь к представлениям и моделям представления, находящимся в пространствах имен, оканчивающихся на "представления" и "модели представления"
Надеюсь, это поможет.