在过去的几天里,我花了很多时间为我的程序创建架构,但仍然存在问题。目前它看起来像这样:
- DataLayer:这里是我的从 DbContext 派生的上下文类和从 EntityTypeConfiguration 派生的映射器类,例如域对象的JobMap
- DomainLayer:我的域/业务对象(例如Job或Schedule)驻留在此处。
- 表示层:这里有 *ViewModel 和 *View 类(我使用 WPF 作为视图)
现在我的问题是:我想构建一个具有一些优化能力的调度应用程序(它是一个单用户和单台 PC 应用程序,因此不需要像 Web 应用程序那样进一步解耦)。但是我有一个问题,我不知道这个应用程序在哪里适合这个架构?
考虑以下用例:用户单击 View 上的“开始”按钮,该按钮调用 ViewModel,该 ViewModel 重定向到我的调度/优化应用程序。然后,此应用程序从数据库中获取所有新作业并创建/更新当前计划。然后 ViewModel 应该使用新创建的计划更新旧计划。最后,视图向用户显示生成的时间表。在这种情况下,我的 ViewModel 知道我的应用程序(因为它调用它)和我的域/业务对象(因为我的应用程序将交付例如一个调度域对象,ViewModel 封装了它)。
这是 EF、MVVM 和我的应用程序的正确用法吗?
问候