MVVM模式是架构模式还是设计模式?

MVVM模式是架构模式还是设计模式?,mvvm,architecture,design-patterns,Mvvm,Architecture,Design Patterns,我已经做了一些关于这个主题的研究,并且已经在一些应用程序中使用了MVVM模式 我问这个问题是因为有时MVVM被称为设计,有时被称为架构模式 在大多数情况下,MVVM模式称为设计模式。然而,就我个人而言,我会投票支持架构,因为对我来说,架构清楚地定义了应用程序的架构(例如,三层、视图、视图模型、模型以及它们之间的交互方式) 这是关于建筑和设计模式之间的差异。答案中说MVC是一种架构模式。几乎所有关于MVVM的解释都包含与MVC的比较。因此,MVVM也是一种体系结构模式吗 这(顺便说一句,这是非常好

我已经做了一些关于这个主题的研究,并且已经在一些应用程序中使用了MVVM模式

我问这个问题是因为有时MVVM被称为设计,有时被称为架构模式

在大多数情况下,MVVM模式称为设计模式。然而,就我个人而言,我会投票支持架构,因为对我来说,架构清楚地定义了应用程序的架构(例如,三层、视图、视图模型、模型以及它们之间的交互方式)

这是关于建筑和设计模式之间的差异。答案中说MVC是一种架构模式。几乎所有关于MVVM的解释都包含与MVC的比较。因此,MVVM也是一种体系结构模式吗

这(顺便说一句,这是非常好的)称MVVM模式为设计模式,是由真正应该知道区别的人编写的

我很困惑。设计还是建筑模式?这个词混淆了吗


编辑:我需要在我的学士论文中了解这一点

我倾向于将架构模式视为具有持久影响的“决策”。它们构成了应用程序的框架,因此很难摆脱它们

例如,如何构建视图的方法很难摆脱,因此我将其称为架构模式。Microsoft设计的ASP.NET WebForms与WinForms非常相似。在项目进行到一半时,很难切换到更具MVVM的方法。甚至选择WebForms作为技术堆栈也会极大地影响应用程序的功能

我认为设计模式是实现的变体——它们可以在不影响应用程序其余部分的情况下使用。您通常会重构为模式,并期望代码会发生更改。在这一点上,设计模式旨在帮助促进未来的变化


显然,两者之间有一条模糊的界线。考虑存储库模式(通常被认为是一种架构模式)。它实际上是数据层的门面(或代理)。在这里,您指出了设计模式的一种重复使用——将其提升为架构模式——因为它会影响系统的架构。您现在有了一条规则:每当我访问数据库时,我都会这样做,这样做,这样做。

体系结构模式也是设计模式。@fab:这是一个有趣的观点。以前从没听说过这一点都不重要,fab是对的。关于设计模式的任何其他理论推测都是有害的:只有它们的应用才是最重要的。在我的学士论文中,我需要知道这一点。但我同意你的看法