它需要一个详细的解释,但我会尝试根据我的知识描绘差异 .
Patterns 是您在程序中找到的蒸馏通用性 . 它允许我们解构大型复杂结构并使用简单的部件构建 . 它为一类问题提供了一般解决方案 .
一个大型的复杂软件经历了一系列不同层次的解构 . 在很大程度上,架构模式是工具 . 在较小的层面上,设计模式是工具,在实现层面,编程范例是工具 .
模式可以以非常不同的级别发生 . 见Fractals . 快速排序,合并排序是用于在订单中组织一组元素的所有算法模式 .
对于最简单的观点:
Programming paradigms Specific to programming language
......................
Design patterns Solves reoccurring problems in software construction
......................
Architectural patterns Fundamental structural organization for software systems
......................
Idioms 是特定于范例和特定于语言的编程技术,它们填充了低级细节 .
Design patterns 通常与代码级别的共性相关联 . 它提供了各种方案来改进和构建较小的子系统 . 它通常受编程语言的影响 . 由于language paradigms,一些模式显得微不足道 . 设计模式是中等规模的策略,可以充实实体及其关系的一些结构和行为 .
虽然 architectural patterns 被视为比设计模式更高层次的共性 . 架构模式是涉及大规模组件,系统的全局属性和机制的高级策略 .
如何获得模式?通过:
重复使用,
分类
并最终抽象以提炼共性 .
如果你已经按照上面的想法 . 您将看到Singleton是一种“设计模式”,而MVC是处理关注点分离的“架构”模式之一 .
试着阅读: