什么是表示层模式/表示模式?据我所知,MVVM 是一种架构模式,但我看到很多人、文章、博客将其称为表示模式。我很困惑。
好像有点矛盾。如果它是一种架构模式,那么它应该处理我所有的表示层、业务逻辑层和数据访问层,对吗?我被允许使用我的实体框架生成的数据模型作为模型。但是,如果它是一个演示模式,我猜它应该只处理演示,那么我不应该使用 EF 生成的数据模型作为模型,因为它将从表示层访问我的数据访问层.
任何人都可以解释一下吗?
什么是表示层模式/表示模式?据我所知,MVVM 是一种架构模式,但我看到很多人、文章、博客将其称为表示模式。我很困惑。
好像有点矛盾。如果它是一种架构模式,那么它应该处理我所有的表示层、业务逻辑层和数据访问层,对吗?我被允许使用我的实体框架生成的数据模型作为模型。但是,如果它是一个演示模式,我猜它应该只处理演示,那么我不应该使用 EF 生成的数据模型作为模型,因为它将从表示层访问我的数据访问层.
任何人都可以解释一下吗?
您的视图和视图模型通常位于架构的同一层。MVVM 的主要方面是交互黑白视图和视图模型。模型可能/可能不被视为位于单独的层中。
当您有一个与数据库、文件存储、服务等挂钩的复杂业务应用程序时,通常该模型成为后端的抽象表示。但在简单的情况下,比如 hello world 图像查看器——模型到底是什么?甚至可能没有。
大图 POV,整个视图 -> 虚拟机 -> 模型堆栈看起来像一个单层。
MVVM 是架构模式还是表示模式取决于涉及大量工作的层。
如果模型很容易通过一个层构建并可供 VM 使用,则 MVVM 是一种表示模式。在这种情况下,大部分工作将在 View 和 ViewModel 上。
MVVM 是一种架构模式,如果应用程序规模很大并且涉及许多层(分层架构),ViewModel 和数据之间的任何东西(如域层、数据库访问层、Web 服务层)都属于模型。