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