设计模式和架构模式有什么区别?
设计模式和架构模式有什么区别?
关闭。这个问题需要更加专注。当前不接受答案。
想要改进这个问题? 通过编辑此帖子使其仅集中于一个问题。
社区在3个月前审核了是否重新开放此问题,但它仍然是关闭的:
原关闭原因未得到解决
当我们在网上了解设计模式时,我们会注意到有3个类别:
- 创建型
- 结构型
- 行为型
但当我们创建软件架构时,我们考虑MVP、MVC或MVVM。
例如,在创建型模式中,我发现了单例模式,但我也在我的MVP中使用了单例。
所以我的问题是:设计模式是一个产品的总体结构吗?
- 如果是,那么单例模式怎么可能是一个设计模式呢?因为我可以在我的应用程序的任何地方使用它。基本上,它只受限于一次在内存中创建一个实例,但这个概念定义了软件是如何设计的吗?
- 如果不是,那么MVP、MVC和MVVM在三类模式中属于什么位置?软件的设计和架构有什么区别?
admin 更改状态以发布 2023年5月21日
需要进行详细的解释,但我会尽力概述我的知识来说明差异。
模式是在程序中发现的常见性质的提取。它允许我们将大的复杂结构拆解为简单的部分进行构建。它为一类问题提供了一般解决方案。
大型的复杂软件在不同的层次上经历了一系列的拆解。在较大的层面上,架构模式是工具。在更小的层面上,设计模式是工具,在实现层面上,编程范式是工具。
模式可以出现在非常不同的层面。例如:查看分形。快速排序、归并排序都是一组元素进行组织的算法模式。
对于最简单的观点:
- 编程范式 - 特定于编程语言
- 设计模式 - 解决软件构建中的重复性问题
- 架构模式 - 软件系统的基本结构组织
成语是特定于范式和语言的编程技术,填补低级细节。
设计模式通常与代码层的共同性联系在一起。它提供了各种方案来精炼和构建较小的子系统。它通常受编程语言的影响。由于语言范式的原因,一些模式显得微不足道。
设计模式是中等规模的策略,细化实体及其关系的一些结构和行为。
而架构模式被视为高于设计模式的常见性。架构模式是高级策略,涉及到大规模组件,系统的全局属性和机制。
如何获得模式?
通过:
- 重复使用,
- 分类
- 最后提取共性抽象化。
如果您遵循以上思路,您会发现单例是“设计模式”,而MVC是用于处理关注点分离的“架构”之一。
请继续阅读: