- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
洞见企业架构之道在软件行业,架构师和工程师就类似于上帝,创建出形形色色的软件产品来服务于人类。要想当好这个角色,架构师自然也需要具备某种上帝的视角,来观察并表达这个世界。讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题,帮你理清技术、业务和架构之间的关系,洞见架构之道,进阶为更优秀的架构师。什么是架构?架构实际上解决的是人的问题,架构的产出物就是对问题的分析,以及解决问题的方案。它包括:拆分的原则以及理由,沟通合并的原则以及理由,以及拆分,拆分出来的各个部分和合并所对应的角色和所需要的核心能力等。1、根据要解决的问题,对目标系统的边界进行界定。2、对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。并对这些切分出来的部分,设立沟通机制。3、根据 2,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。这就是架构。认识概念是理解架构的基础要做好架构首先必须具备的能力是能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题。比如,什么是“杯子”?杯子这个概念并不是瓷器,回归作用:其实是为了解决“人需要一个可单手持握,但是希望避免直接接触所盛物体”这个问题。每个概念实际上所解决的,还是人遇到的某个特定的问题,我们把解决问题的解决方案,给定了一个名字,这个名字就是对应的某个特定的概念。事实上,这一能力,在任何一个领域都是适用的。比如我们如果想要学习一项新的技术,如 Hibernate、Spring、PhotoShop、WWW、Internet 等等,如果知道这些概念所要解决的问题,学习这些新的技术或者概念就会如虎添翼,快速的入手;学习一个新的领域,也会非常的快速有效;使用这些概念来解释问题,甚至发明新的概念都是很容易的事。为什么强调这个?因为做架构的时候,很多时候都是在一个新的领域解决问题,必须要快速进入并掌握这个领域,然后才能够正确的解决问题。如何做好架构??第一、识别问题,找到问题的主体如果把真正的问题找到,那么问题就已经解决了 80% 了。这个能力基本上就决定了架构师的水平。找出问题的主体,是做架构的首要问题。这也是前面强调的,我们要解决的问题,一定都是人的问题。更进一步,作为软件工程师或者架构师,我们大部分时候是要去解决别人的问题,“别人”是谁,是值得好好思考的。再进一步,我们一定要明白,任何找上架构师的问题,绝对都不是真正的问题。为什么呢? 因为如果是真正的问题的话,提问题过来的人肯定都能够自己解决了,不需要找架构师。架构师都要有这个自觉:发现问题永远都比解决问题来的更加重要。一般来说,从问题暴露的点,一点点去溯源查找,一定会找出来谁的问题,以及是什么问题。最坏情况就是当我们时间或者能力有限,实在是无法定位出是谁的问题的时候,比如系统出故障,也就意味着我们无法根本解决问题。这时最好的办法就是去降低问题发生所带来的成本,尽量去隔离问题影响的范围。给我留出时间和空间去识别真正的问题。总结一下,要正确的认识问题,需要问两个问题:1、这是谁的问题?2、有什么问题?当得到的回答是支支吾吾的时候,我们就知道正确的方向在哪儿,以及需要做哪些事了。以我的经验,问题 1 会花比较多的时间,也是支支吾吾最多的地方,因为架构要解决的问题都是人的问题。但是一旦确定了答案,问题 2 就会变得非常容易。可以这样说,架构师的能力大部分会体现在问题 1 的识别上。?第二、架构切分,本质上是利益的调整在识别出是谁的问题之后,会发现,在大部分情况下,问题都迎刃而解,不需要做额外的动作。但总还有一部分确实是有问题的,需要做调整,那么就必须要有所动作,做相应的调整。这个调整就是架构的切分。简单来说:1、架构的切分的导火索是人的负载太重。2、架构的切分实际就是对 stakeholder 的利益进行切分或合并,使得每个 stakeholder 的权责是对等的,每个 stakeholder 可以为自己的利益负责。3、架构切分的最终结果都会体现在组织架构上,只有这样才能够让架构落地并推进。4、架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。什么是软件?软件的历史,实际上可以说是用机器模拟人的历史。不管大家有没有意识到,我们都有意无意的在计算机上模仿人类的行为。人们越来越愿意把原来只有人才能做的事情,交给计算机来做。结果就导致软件越来越丰富,能够做的事情也越来越多,成本也越来越低。所以,软件的本质,其实就是通过把人类的日常工作生活虚拟化,减少成本,提升单个人员的生产力,提升人类自己的利益。随着软件的规模的变大,程序从早期由一个
您可能关注的文档
最近下载
- 2025-2030中国牛仔服装行业市场深度发展趋势与前景展望战略研究报告.docx
- 八大特殊作业安全管理培训(最新版课件).pptx
- 酒店管理专业人才需求调研报告.doc VIP
- 个人业绩相关信息采集表含政治表现、最满意、主要特点、不足.pdf VIP
- 新22J09 附属建筑-标准图集.docx VIP
- 世界各国语言.doc VIP
- 《新媒体传播》课件.ppt VIP
- 2025年安全员c2考试试题库(答案+解析).docx
- GBT45001-2020SO45001:2018 职业健康安全管理体系要求及使用指南.pdf VIP
- 部编版六年级上册道德与法治教案:感受生活中的法律知识.docx VIP
文档评论(0)