架构风格vs.架构模式vs.设计模式

架构风格vs.架构模式vs.设计模式

架构风格vs.架构模式vs.设计模式

这篇文章是软件架构编年史的一部分,一系列关于软件架构的文章。在书中,我写下了我在软件架构上学到的东西,我对它的看法,以及我如何使用这些知识。如果您阅读本系列的前几篇文章,那么本文的内容可能更有意义。

在上一篇文章中,我写到了编程语言是如何发展的,以及它告诉我们的:它们总是朝着提供更多模块化和封装的方向发展。

在下面的文章中,我将介绍架构风格和架构模式的演变,所以今天我将介绍什么是架构风格,什么是架构模式

与软件开发中的许多术语一样,这些术语并不清楚,不同的人赋予它不同的含义。MSDN说,架构风格和架构模式是一样的,但就我个人而言,我更喜欢用George Fairbanks和Michael Keeling解释的方式来思考这些问题,在这个堆栈中所说的溢出答案以及Wikipedia是如何将两者分开的:关键区别在于范围。

同样重要的是要强调这样一个观点:架构风格、架构模式和设计模式不是相互排斥的,它们是互补的,它们都可以教会我们一些东西,尽管像往常一样,它们应该只在需要时才使用。

架构风格

架构风格以非常宽泛的笔触告诉我们如何组织代码。它是最高级别的粒度,它指定应用程序的层、高级模块,以及这些模块和层之间如何交互,以及它们之间的关系。架构风格示例:

  • 基于组件
  • 整体应用
  • 分层的
  • 管道和过滤器
  • 事件驱动
  • 发布订阅
  • 插件
  • 客户端服务器
  • 服务导向
  • 体系结构样式可以通过各种方式实现,包括特定的技术环境、特定的策略、框架或实践。

    架构模式

    模式是对反复出现的问题的反复解决方案。在架构模式的情况下,它们解决了与架构风格相关的问题。例如,“我们将拥有哪些类以及它们将如何交互,以便实现具有特定层集的系统”,或“我们面向服务的体系结构中将拥有哪些高级模块以及它们将如何通信”,或“我们的客户机-服务器体系结构将拥有多少层”。

    体系结构模式对代码库有着广泛的影响,最常见的影响是水平地

    来源:超级架构师

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2020年4月6日
    下一篇 2020年4月7日

    相关推荐