我已经对这个主题做了一些研究,并且我已经在一些应用程序中使用了MVVM模式。
我之所以问这个问题,是因为有时MVVM被称为设计,有时被称为体系结构模式。
在大多数情况下,MVVM模式被称为设计模式。然而,就我个人而言,我会投票支持架构,因为对我来说,它清楚地定义了应用程序的体系结构(例如。三层,视图、ViewModel、模型以及它们是如何相互作用的)
这个所以问题和答案是关于架构和设计模式之间的区别。在回答中,有人说MVC是一种架构模式。几乎所有对MVVM的解释都包含了与MVC的比较。因此,MVVM也是一种架构模式吗?
这个msdn文章 (顺便说一句很好)将MVVM模式称为设计模式,它是由真正应该知道区别的人编写的。
我很困惑。设计还是建筑模式?这个词是不是搞混了?
编辑:我需要为我的单身汉论文知道这个
发布于 2013-03-15 07:22:40
我倾向于认为架构模式是具有持久影响的“决策”。它们构成了应用程序的框架,因此很难摆脱它们。
例如,如何构建视图的方法是很难摆脱的,所以我将其称为架构模式。微软设计的ASP.NET WebForms非常类似于WinForms。在项目的中途,很难切换到更多的MVVM方法。甚至选择WebForms作为您的技术堆栈也会极大地影响您对应用程序的处理。
我认为设计模式是实现的变体--它们可以在不影响应用程序其余部分的情况下使用。您通常会重构为模式,并期望代码会更改。在这一点上,设计模式是为了帮助促进未来的变化。
很明显,两者之间有一条模糊的界线。考虑存储库模式(通常认为是一种架构模式)。它实际上是数据层的外观(或代理)。在这里,您指出了设计模式的反复使用--将其提升为体系结构模式--因为它会影响您设计系统的方式。现在您有了一条规则:每当我访问数据库时,我都会执行这个、这个和这个。
发布于 2022-08-04 19:30:41
MVVM是微软与UI相关的设计模式。检查下面的链接
发布于 2022-08-24 07:13:34
架构模式比设计模式在更高的层次上。架构模式是涉及大规模组件、系统的全局属性和机制的高层策略。或者用更简单的术语来说,架构模式在更高层次上定义了系统中涉及的组件,它们是如何组装和组织的,以及它们是如何相互通信的。
设计模式通常与代码级别的共性相关联,或者可以说是在较低的层次上,这说明了软件/组件是如何构建的。
整体而言:
架构模式-软件系统的基本结构组织**(处理关注点的分离)
设计模式-处理软件/软件组件结构中的实现级细节
https://stackoverflow.com/questions/15434918
复制相似问题