架构设计30-架构模式01-介绍

架构设计系列文章,请参见连接。

背景:

1. 学习背景
多年前在学习架构设计的过程中,无意间找到了叫做《架构模式》的架构设计方法论。从哪之后就开始逐渐的深入学习这方面的内容。在简书个人介绍中的:《规则对于智者来说是指导,对于愚者来说是遵从》。其实就是在学习《架构模式》是理解的真理。

在平常的工作过程中,有很多人会以经验的方式去知道具体的工作。遇到无经验可借鉴的时候就束手无策了。往往这些时候就是体现一个人学习能力的时候,所以,就需要一种借鉴其他人经验的方式。而架构模式就是前人为我们总结和模式化的架构设计实践中经验。

2. 内容范围
在软件界有很多种模式的概念,并在之后会推出系列的架构模式文章。所以需要大概的说明一下系列文章的内容范围,以区别其他知识领域并方便的指导学习过程。

在搜索引擎上搜索《架构模式》时,最可能搜到的是Martin Fowler的《企业应用架构模式》。这本书的主要介绍的范围是在软件开发中可能会遇到的各种知识点,以及GoF设计模式的具体落地方式等等。所以,这本书描述的内容基本上在《架构设计01--架构师知识体系》底层的实现技术与设计模式部分。

本文中介绍的内容更多的是《软件体系结构》和《软件体系结构原理、方法与实践》中的内容。这两本书描述从软件架构的层面上通用模式。所以,可以理解为本系列文章的主要内容是介绍软件体系结构

因为每个人经历、知识体系都是不一样的,并且写文章所要介绍的内容也不尽相同。所以在网上可以找到很多种的架构模式的理解。例如:《10 Common Software Architectural Patterns in a nutshell》,《朱晔的互联网架构实践心得S1E7:三十种架构设计模式(上)》,《《软件架构模式》-第一章分层架构(上)》。在这里介绍的内容与其他介绍的内容没有什么好坏之分,只不过在软件体系结构中介绍的内容的细分领域不同。所以,作为一个软件从业人员尽量的多去学习,多去理解才是最终要的。不用进行比较。

概述:

1. 架构设计到底干了什么?
架构的基本需求主要是在满足功能属性的前提下,关注软件质量属性,架构设计则是为了满足架构需求(软件质量)寻求适当的”战术“;

2. 软件架构设计的意义?

  1. 项目关系人之间的交流平台
    在软件过程中,软件系统中会有各种各样的关系人进入。软件系统的多种关系人在不同的时候分别关注系统不同的特性。我们可以从软件架构的"4+1"视图模型中看不同人的需求。


    架构设计
  2. 早期设计决策
    在精益中有个规则,叫做推迟决策。相应的敏捷中也需要支持尽快决策。在软件开发的开发初期可以实现MVP,对其进行各方面的评估与验证。因为在软件过程中不确定因素很多,刚开始很难预测未来的变化,一开始保留较大的弹性。软件需求分三种:功能需求,质量需求和设计约束。在开始进行架构设计时就可以考虑这三种需求来完成相应的决策。

  3. 在较高层面上体现软件的复用
    软件质量中有一条软件可复用性,不要认为软件工程中的规则、原则、指导等都只能停留在它所固定的层次上。软件的可复用性并不只代表代码的复用性,它代表了软件开发层次中的各个层次。在组件化开发中软件可复用性可以体现在组件的服用。在架构设计层面的可复用性,就可以说架构模式了。

  4. 架构对开发的指导与规范意义不可忽视。
    架构的指导意义体现在所有的人员都有一个共同的目标。在团队中一致的目标能让团队更高效的完成任务。并且可以形成软件中的统一语言,方便团队中的沟通。

说明:

1. 以怎样的方式描述架构模式?

根据软件实施经验、并综合架构模式的定义进行对软件架构进行描述。也会说明具体的架构模式的适用范围,以及使用过程中的注意事项。

2. 软件架构的生命周期?

从演进式架构还没有出现时,总有一种模糊的感觉:架构不是一蹴而就的。在遗留系统怎样更新到新架构、现在正在运行的软件产品怎样持续的进行改进、新系统设计时怎样考虑它的可扩展行?这些都是对软件架构的要求。所以,一直在思考,但是《演进式架构》出现后才真正的理解。

体系结构的生命周期模型
3. 架构模式分类

GoF为我们总结了23种设计模式。我们在这里说明10种架构模式。具体类型为:

  • 分层架构模式
  • 事件驱动架构模式
  • 微内核架构模式
  • 微服务架构模式
  • 云架构模式
  • 命令查询指责分离模式
  • 仓库系统及知识库
  • 控制环路模式
  • 管道过滤器模式
  • 无服务器架构

参考:

设计恰如其分的架构
新书推荐 | 拥抱变化:演进式架构设计
技术实践如何支持演进式架构和持续集成
微服务即演进式架构
微服务和演进式架构

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容