WPF WCF Prism и MVVM -правильный способ предоставления сущностей

Очень скоро мы собираемся разрабатывать большое корпоративное настольное приложение, и я потратил некоторое время на изучение подхода WPF + PRISM + MVVM, я хорошо разобрался с большинство концепций, и мне нравится модульность, которую он обеспечивает.

У меня возникли проблемы с тем, как спроектировать уровень служб для получения и получения данных, особенно когда эта служба представлена ​​​​модулем с идеей, что зависимый модуль может ее использовать.

Я хотел абстрагировать свои службы данных WCF внутри служб приложений и использовать ServiceLocatorдля разрешения конкретных экземпляров из моих моделей представления-, однако мне было трудно понять, как это должно быть связано, в основном из-за мои сущности являются частью службы WCF.

Например

Модуль 1 Содержит службу WCF + конкретную службу приложений(ISearchService)+ сущности, сгенерированные службой WCF(модель)

Module1.Infastructure-Содержит следующий интерфейс для службы приложений

public interface ISearchService
{
      ObservableCollection<Person> Search(string search);
}

, который будет зарегистрирован в UnityContainer так что любой другой модуль может получить конкретную реализацию, представленную модулем.

Моя проблема заключается в том, что Entities(Person)определены в самом модуле (в службе WCF ), поэтому введение службы и последующее ожидание того, что любые другие модули смогут ее использовать, означает, что им нужно ссылаться сам модуль, а не только инфраструктура модулей, если только я не вытащу сервисы в другую сборку.

Должен ли я таким образом выставлять напоказ свои объекты, автоматически сгенерированные из моей модели EF?

Есть ли у кого-нибудь лучшее решение?

7
задан Richard Friend 3 April 2012 в 12:52
поделиться