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

What's the difference between Design pattern, Architectural pattern, Architectural style, and Architecture?

谁能描述一下设计模式、架构模式、架构风格和架构之间的区别?提前致谢。

Design Pattern一般是指特定代码(一些对象或函数)的设计模式,例如Factory Pattern,或Visitor

架构模式是指解决方案的模式设计,例如事件驱动、MVC、3 层等。它通常是具体的,并且可以用一组相当已知的参数插入到问题中.

Architectural Style 比较抽象,指的是层分离、SOA 等。它不是"solution"问题,而是对设计的描述。

架构是给定解决方案的实际设计和实现。具体到具体的解决方案。

设计模式涉及针对设计大型软件应用程序时可能发生的特定问题的通用解决方案的实现。我在这里指的问题示例是 - 代码重复,代码的可维护性以供将来增强等

例如:工厂模式、依赖注入模式

架构模式主要处理软件应用程序的整个架构。它们的可重用性和通用性很强,可以根据需要采用。

例如:MVC、REST、3 层

  • 架构风格是最高抽象级别的应用程序设计
  • 架构模式是一种实现架构风格的方式
  • 一个设计模式是一种解决局部问题的方法

例如:

  • 您希望在您的项目或要求中实现的具有高抽象级别的 REST 或 CRUD 操作是架构风格
  • 你打算如何实现它是架构模式
  • 你会遇到并要解决的问题是设计模式