设计模式和架构模式有什么区别?

12 浏览
0 Comments

设计模式和架构模式有什么区别?

关闭。这个问题需要更加专注。当前不接受答案。


 

想要改进这个问题? 通过编辑此帖子使其仅集中于一个问题。

社区在3个月前审核了是否重新开放此问题,但它仍然是关闭的:

原关闭原因未得到解决


改进此问题

当我们在网上了解设计模式时,我们会注意到有3个类别:

  • 创建型
  • 结构型
  • 行为型

但当我们创建软件架构时,我们考虑MVP、MVC或MVVM。

例如,在创建型模式中,我发现了单例模式,但我也在我的MVP中使用了单例。

所以我的问题是:设计模式是一个产品的总体结构吗?

  • 如果是,那么单例模式怎么可能是一个设计模式呢?因为我可以在我的应用程序的任何地方使用它。基本上,它只受限于一次在内存中创建一个实例,但这个概念定义了软件是如何设计的吗?
  • 如果不是,那么MVP、MVC和MVVM在三类模式中属于什么位置?软件的设计和架构有什么区别?
admin 更改状态以发布 2023年5月21日
0
0 Comments

设计模式是一种通用的解决技术问题的方式,其已经被证明可行许多次。设计模式是创建可重用面向对象软件的常见设计结构和实践。例如,工厂模式、单例模式、门面模式、状态模式等是设计模式的例子。设计模式可以用于解决应用程序中的较小问题,且比整体架构更容易注入、改变和添加。

架构模式是解决软件应用程序架构问题的常用模式。软件应用程序架构是定义符合所有技术和操作要求的结构化解决方案的过程。应用程序的架构是代码的整体"组织方式"。不同架构的例子可能包括MVC、MVVM、MVP、n层(例如UI-BLL-DAL)等。架构通常需要事先决定,并且一旦应用程序建立后往往难以改变。

0
0 Comments

需要进行详细的解释,但我会尽力概述我的知识来说明差异。

模式是在程序中发现的常见性质的提取。它允许我们将大的复杂结构拆解为简单的部分进行构建。它为一类问题提供了一般解决方案。

大型的复杂软件在不同的层次上经历了一系列的拆解。在较大的层面上,架构模式是工具。在更小的层面上,设计模式是工具,在实现层面上,编程范式是工具。

模式可以出现在非常不同的层面。例如:查看分形。快速排序、归并排序都是一组元素进行组织的算法模式。

对于最简单的观点:

  • 编程范式 - 特定于编程语言
  • 设计模式 - 解决软件构建中的重复性问题
  • 架构模式 - 软件系统的基本结构组织

成语是特定于范式和语言的编程技术,填补低级细节。

设计模式通常与代码层的共同性联系在一起。它提供了各种方案来精炼和构建较小的子系统。它通常受编程语言的影响。由于语言范式的原因,一些模式显得微不足道。
设计模式是中等规模的策略,细化实体及其关系的一些结构和行为。

架构模式被视为高于设计模式的常见性。架构模式是高级策略,涉及到大规模组件,系统的全局属性和机制。

如何获得模式?
通过:

  1. 重复使用,
  2. 分类
  3. 最后提取共性抽象化。

如果您遵循以上思路,您会发现单例是“设计模式”,而MVC是用于处理关注点分离的“架构”之一。

请继续阅读:

  1. http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)
  2. http://en.wikipedia.org/wiki/Design_pattern
  3. http://en.wikipedia.org/wiki/Anti-pattern
0