В последние дни я потратил много времени на создание архитектуры для своей программы, но все еще имею к ней проблему. На данный момент это выглядит следующим образом:Где разместить логику приложения при использовании Entity Framework и MVVM
- DataLayer: Вот мой контекст класс, который получен из DbContext и классов Mapper которые, полученных из EntityTypeConfiguration как JobMap для объектов домена находятся
- DomainLayer: Здесь мои объекты домена/бизнеса, такие как Работа или Расписание проживает.
- Presentation Layer: Здесь у меня есть * ViewModel и * Просмотр классов (я использую WPF для просмотров)
Теперь мой вопрос: Я хочу создать приложение для планирования с некоторыми возможностями оптимизации (его это однопользовательское и однопользовательское приложение, поэтому дальнейшее развязывание, такое как веб-приложение, не требуется). Но у меня есть проблема, что я не знаю, где это приложение вписывается в эту архитектуру?
Учитывая следующий пример использования: пользователь нажимает кнопку «Пуск» в представлении, который вызывает ViewModel, который перенаправляет на мое приложение для планирования/оптимизации. Затем это приложение получает все новые задания из базы данных и создает/обновляет текущее расписание. Затем ViewModel должен обновить старое расписание новым. Наконец, в представлении отображается сгенерированное расписание для пользователя. В этом случае мой ViewModel знает о моем приложении (потому что он его вызывает) и о моих доменах/бизнес-объектах (потому что мое приложение будет доставлять, например, объект домена, который инкапсулирует ViewModel).
Правильно ли это использование EF, MVVM и моего приложения?
С уважением