[架构之路-92]:《软件架构设计:程序员向架构师转型必备》-2-解析软件架构的概念
创始人
2024-05-19 21:34:50
0

前言:

什么是软件架构?不同的人,有不同的答案。因为架构无处不再,架构又有不同层面。

很多人都给架构定义,不同的人,对架构有不同的理解,很难统一。

本文是按照作者个人的理解,来展现一个程序员如何向架构师演进的路径。

第2章 解析软件架构概念

程序员要转向架构的第一道门槛就是:什么是架构?在众多定义中,如何立足自身的实际情况和起点,转型软件架构师?

2.1 软件架构概念分类

这个派别的思想源于建筑行业的架构,也源于架构这个单词本身,该派别人为,软件是一个系统,任何系统都是有组件、子系统、模块等组成的,通过分解还原一个软件系统,通过划分组件、子系统、模块来构建一个新的系统。

组成派是站在目标系统的角度,以目标系统为目标和中心。

决策派站在人的角度看目标系统,他们认为目标系统是人意愿的体现,是人的决策的体现,展现的是一种人对目标系统的一个愿景和规划。除了看得见的功能性需求,还包括了看不见的非功能性需求。

备注:站在程序员的角度,其实可以不用陷入到概念之争中,而是从实践出发,立足行为,先依葫芦画瓢,等进入高阶阶段后,再思考如何进行概念化和思想总结。

2.2 核心思想解析

2.2.1 关注软件系统的组成部分的分割与交互

任何系统,都是由各个子系统组成,子系统与子系统之间,子系统与外界一定存在一定的交互,没有交互的子系统是孤岛,注定没有存在的价值。组件本质是就是子系统。

2.2.2 架构是自顶向下逐步分层的树型决策

.......................................

2.2.3 架构无处不在

2.3 工程实践

2.3.1 基于手头上的实际代码理解架构

一方面,程序员能够跳出代码的细节,抽象出系统的架构。

另一方面,架构是不能脱离手头上的软件代码,重构架构,架构师的架构要落地,要有支撑点,在一个已有的系统上,架构是构建在代码之上的,是已有代码的抽象;在一个新系统中,代码是蓝图,是代码的蓝图,代码是按照架构的方式构建软件系统的。

一个好的系统,是架构师与程序员的通力合作和相互信任,程序员相信架构师的架构能力,架构师相信程序员的编程能力。

2.3.2 架构是类的抽象定义吗?

架构师如何只定义类的抽象定义,程序员只按照抽象定义去实现,就不需要架构师这个角色了,优秀的程序来充当就可以了。

架构师做能够程序员的基础上做增量工作:

  • 在更高层次上抽象系统,而不是类级别,如业务需求层面、用户层面和逻辑功能层面进行抽象,而类是实现层面的抽象。

  • 除了功能性需求,还要关注非功能性需求,确保架构的系统满足未来的需要,而不是仅仅当下的需要

  • 架构师要引领未来的方向,软件代码是满足业务需求的,软件架构要能够为当下的业务服务,同时也能适应未来的业务需求,只能需要有演进线路。

2.3.3 架构师不是需求工程师

架构师不仅仅要提软件的功能和非功能需要,还需要给出具体的技术方案,这是架构师与需求工程师最具备价值的地方。比如采用什么样的设计模式,技术方案选型等等。

2.4.4 不同派别不过是站的角度不同

感悟:

  • 架构的思想,不仅仅适合软件系统,也适合任何系统,包括国家、企业、公司、组织、团队。

  • 架构不仅仅是看得见的功能性需要,也包括看不见的非功能性需要,如稳定性、可靠性、安全性、伸缩性等。

  • 架构是不同层面上的抽象,是业务目标的一步一步实现过程:业务需求层=》用户层=》功能与非功能层=》代码设计=》代码

相关内容

热门资讯

常用商务英语口语   商务英语是以适应职场生活的语言要求为目的,内容涉及到商务活动的方方面面。下面是小编收集的常用商务...
六年级上册英语第一单元练习题   一、根据要求写单词。  1.dry(反义词)__________________  2.writ...
复活节英文怎么说 复活节英文怎么说?复活节的英语翻译是什么?复活节:Easter;"Easter,anniversar...
2008年北京奥运会主题曲 2008年北京奥运会(第29届夏季奥林匹克运动会),2008年8月8日到2008年8月24日在中华人...
英语道歉信 英语道歉信15篇  在日常生活中,道歉信的使用频率越来越高,通过道歉信,我们可以更好地解释事情发生的...
六年级英语专题训练(连词成句... 六年级英语专题训练(连词成句30题)  1. have,playhouse,many,I,toy,i...
上班迟到情况说明英语   每个人都或多或少的迟到过那么几次,因为各种原因,可能生病,可能因为交通堵车,可能是因为天气冷,有...
小学英语教学论文 小学英语教学论文范文  引导语:英语教育一直都是每个家长所器重的,那么有关小学英语教学论文要怎么写呢...
英语口语学习必看的方法技巧 英语口语学习必看的方法技巧如何才能说流利的英语? 说外语时,我们主要应做到四件事:理解、回答、提问、...
四级英语作文选:Birth ... 四级英语作文范文选:Birth controlSince the Chinese Governmen...
金融专业英语面试自我介绍 金融专业英语面试自我介绍3篇  金融专业的学生面试时,面试官要求用英语做自我介绍该怎么说。下面是小编...
我的李老师走了四年级英语日记... 我的李老师走了四年级英语日记带翻译  我上了五个学期的小学却换了六任老师,李老师是带我们班最长的语文...
小学三年级英语日记带翻译捡玉... 小学三年级英语日记带翻译捡玉米  今天,我和妈妈去外婆家,外婆家有刚剥的`玉米棒上带有玉米籽,好大的...
七年级英语优秀教学设计 七年级英语优秀教学设计  作为一位兢兢业业的人民教师,常常要写一份优秀的教学设计,教学设计是把教学原...
我的英语老师作文 我的英语老师作文(通用21篇)  在日常生活或是工作学习中,大家都有写作文的经历,对作文很是熟悉吧,...
英语老师教学经验总结 英语老师教学经验总结(通用19篇)  总结是指社会团体、企业单位和个人对某一阶段的学习、工作或其完成...
初一英语暑假作业答案 初一英语暑假作业答案  英语练习一(基础训练)第一题1.D2.H3.E4.F5.I6.A7.J8.C...
大学生的英语演讲稿 大学生的英语演讲稿范文(精选10篇)  使用正确的写作思路书写演讲稿会更加事半功倍。在现实社会中,越...
VOA美国之音英语学习网址 VOA美国之音英语学习推荐网址 美国之音网站已经成为语言学习最重要的资源站点,在互联网上还有若干网站...
商务英语期末试卷 Part I Term Translation (20%)Section A: Translate ...