什么是表示层模式/表示模式?据我所知,MVVM是一种体系结构模式,但我看到许多人、文章和博客将其称为表示模式。我很困惑。
这似乎有点矛盾。如果它是一个体系结构模式,那么它应该处理我所有的表示层、业务逻辑层和数据访问层,对吧?我可以使用实体框架生成的数据模型作为模型。但是,如果它是Presentation模式,我猜它应该只处理Presentation,那么我不应该使用EF生成的数据模型作为模型,因为它将从Presentation层访问我的数据访问层。
有人能透露一些信息吗?
视图和视图模型通常位于体系结构的同一层。MVVM的主要方面是与视图和视图模型进行交互。模型可能/可能不被认为是在一个单独的层中。
当你有一个复杂的业务应用程序与数据库、文件存储、服务等连接时,通常该模型会成为后端的抽象表示。但在简单的情况下,比如hello world图像查看器,模型到底是什么?甚至可能没有。
全局POV,整个View->VM->Model堆栈看起来像一个单层。
MVVM是体系结构模式还是表示模式取决于涉及大量工作的层。
MVVM是一种表示模式,如果模型可以通过一个层轻松构建,并且可以由VM使用。在这种情况下,大部分工作将集中在View和ViewModel上。
MVVM是一种架构模式,如果应用程序规模很大,并且涉及许多层(分层架构),ViewModel和Data之间的任何层(如域层、数据库访问层、Web服务层)都属于Model。