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

Jee*_*att 106 architecture design-patterns

当我们在互联网上阅读有关设计模式时,我们注意到有3个类别:

  • 创力
  • 结构
  • 行为的

但是当我们创建软件架构时,我们会考虑MVP,MVC或MVVM.

例如,在创作模式中我找到了单身模式,但我也在我的MPV中使用了单身.

所以我的问题是:设计模式是否超过了产品的所有结构?

  • 如果是,那么单身如何成为一种设计模式?因为我可以在应用程序的任何地方使用它.基本上,它仅限于在内存中一次创建一个实例,但这个概念不能定义软件的设计方式吗?

  • 如果没有,那么MVP,MVC和MVVM在哪三种模式中呢?软件的设计和架构有什么区别?

pyf*_*unc 159

它需要一个详细的解释,但我会尝试根据我的知识描绘差异.

模式是程序中的常见性.它允许我们解构大型复杂结构并使用简单的部件构建.它为一类问题提供了一般解决方案.

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

模式可以以非常不同的级别发生.请参阅分形.快速排序,合并排序是用于在订单中组织一组元素的所有算法模式.

对于最简单的观点:

 Programming paradigms   Specific to programming language
 ......................
 Design patterns         Solves reoccurring problems in software construction
 ......................
 Architectural patterns  Fundamental structural organization for software systems
 ......................
Run Code Online (Sandbox Code Playgroud)

习语是特定范例和特定于语言的编程技术,可填充低级细节.

设计模式通常与代码级别的共性相关联.它提供了各种方案来改进和构建较小的子系统.它通常受编程语言的影响.由于语言范式,一些模式显得微不足道.设计模式是中等规模的策略,可以充实实体及其关系的一些结构和行为.

虽然建筑模式被视为比设计模式更高层次的共性.架构模式是涉及大规模组件,系统的全局属性和机制的高级策略.

如何获得模式?通过:

  1. 再利用,
  2. 分类
  3. 最后抽象来提炼共性.

如果你已经按照上面的想法.您将看到Singleton是一种"设计模式",而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

  • 做得很好,精心制作.现在我只希望每个人都能像你把它们放在这里一样使用这些术语.我可以在市场营销部咖啡机上方的墙上贴上你的答案.也许有一天他们会理解.;-) (12认同)

小智 9

设计模式是众所周知的模式,用于以多次证明自己的方式解决技术问题.设计模式是常见的设计结构和实践,可用于创建可重用的面向对象软件.设计模式示例是工厂模式,单例,外观,状态等.设计模式可用于解决整个应用程序中的较小问题,并且比整体架构更容易注入,更改和添加

架构模式是众所周知的模式,用于解决软件应用程序架构问 软件应用程序体系结构是定义满足所有技术和操作要求的结构化解决方案的过程.应用程序的体系结构是代码的整体"组织".不同体系结构的示例可以是MVC,MVVM,MVP,n层(即UI-BLL-DAL)等.该体系结构通常需要预先确定,并且一旦构建应用程序通常难以更改.