我们将要编写我们的第一个WPF应用程序,并逐渐熟悉MVVM模式。我们已经构建了许多Winform应用程序,并拥有对我们非常成功的体系结构。我们在转换该架构或确定我们的架构的某些部分适合MVVM模型时遇到了一些麻烦。
从历史上看,我们有一个Gui(主exe),然后它可以与BusinessLogic dll通信。BusinessLogic通过Web服务与DAL dll通信,并且DAL与数据库进行交互。DAL,BusinessLogic和GUI都引用相同的BusinessObjects dll。
向MVVM的某些过渡相当简单。我们的Gui将仍然包含视图,我们的BusinessOjbects将仍然包含模型,而我们的DAL将仍然与数据库交互(尽管实现它们的技术可能会发生变化)。
我们不确定的是我们的BusinessLogic组件。从历史上看,这将提供GUI调用的函数,然后在视图中填充控件(即GetCustomerList,它将返回Customer对象或典型的CRUD函数的列表)。
我们主要遇到的问题是MVVM模式是否需要一个附加组件来容纳ViewModels,还是我们只是改变了思维方式并将用作BusinessLogic组件的内容迁移到ViewModels?
我们的BusinessLogic组件代表ViewModels吗?