架构漫谈阅读笔记

听你笑 听你笑     2022-08-23     545

关键词:

    原来通过阅读《大型网站架构》的阅读,对架构的原则和特点有了了解,但对于为什么要进行架构以及如何真正实现架构还并没有真正的了解。这几天我通通过阅读由资深架构师王概凯执笔的系列专栏——架构漫谈,让我对什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题有了更深刻的认识。

    软件架构实际上包括了:代码架构,以及承载代码运行的硬件部署架构。实际上,硬件部署架构最终还是由代码的架构来决定。因为代码架构不合理,是无法把一个运行单元分拆出多个来的,那么硬件架构能分拆的就非常的有限,整个系统最终很难长的更大。经常会听说,重写代码,推翻原有架构,重新设计等等说法,来说明架构的进化。这实际上就是当初为了完成任务,没有充分思考所带来的后果。这也并不是架构进化的事情,而是个人对问题领域的逐渐深入理解的过程。

    认识架构是理解架构的基础,架构的实质是解决人的问题。在软件架构阶段,有效的去认识概念,明白概念背后的含义,以及利用对概念的理解,快速的进行学习至关重要。找到真正的问题,这个能力决定了架构师的水平。找出问题的主体,是做架构的首要问题。如何正确的认识问题,这需要问两个问题: (1)这是谁的问题? (2)有什么问题?当得到的回答是支支吾吾的时候,我们就知道正确的方向在哪儿,以及需要做哪些事了。能够清晰的定义问题,是解决问题的第一步。

    在认识问题后是如何解决问题。软件开发的过程一般都是团队合作,这就涉及到了利益的切分。架构的切分的导火索是人、时间的负载太重。每个人的能力有限,或者单个人来做的话,时间太长。架构的切分实际就是对系统的利益相关人的利益进行切分或合并,使得每个系统的利益相关人的权责是对等的,每个系统的利益相关人可以为自己的利益负责。架构切分的最终结果都会体现在组织架构上,只有这样才能够让架构落地并推进。架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。

    我们做过软件,但什么是软件这个并不能很好的给出解释。。在硬件上编写出的程序,就是软件,是用来控制硬件的行为的。在有软件之后我们将生活的事情虚拟到计算机。其实软件架构师的出现与软件的的发展着实相似,从开始写软件到切分,演变成不同的架构这个演变的动力就是提高人的利益,降低成本。

软件架构师的本质是发现问题。软件架构实际上包括了代码架构以及重载代码运行的硬件部署架构。软件架构是否真的需要这取决于任务的大小,若一个人就可以很好的开发何必架构。当访问的流量越来越大,机器就会越来越多,代码的部署单元就会拆分的越来越多。这是就需要软件架构了,这也是软件架构的意义所在,解决多人开发的问题。

    软件架构过程可以明确地拆分为两个不同的责任:其一,表达业务逻辑的代码,很多人把这部分叫做Domain Logic,或者叫Domain Model。这部分实际是来源于生活的,必须保持和现实生活中的切分一致,并非人为的抽象而成。其二,对用户提供访问并保存业务逻辑运行结果的代码。计算机的状态保存有一个缺陷,本机保留业务运行结果有很大的问题,一般都在外存储设备上保存,也便于扩展。众所周知,service的代码是最复杂的,需要服务于三方,为了把这三方的变化对service的影响降到最低,对于service进一步的拆分为三个部分,他们分别是Service、Glue Code、Business,让每一个部分都能够独立的变化,这样这三方的变化就不会产生连锁响应,降低成本。这就是软件架构的本质思想,由于我还为进行过项目的架构的使用,对架构如何在项目中实现还不是很明白。

    该怎么处理业务、技术还有架构的关系也是一门学问,技术总是在人类解决对业务的要求不断提高的情况下产生,目的也是为了获取更大更好的利益。所以,准确识别采用什么技术的能力,也是架构师所要具备的能力之一。通过对这本书的阅读,从整体的角度对软件架构有深层侧的理解,这是在进一步进行实际项目的开发中应具有很重要能力。

《架构漫谈》阅读笔记

  架构漫谈是由资深架构师王概凯执笔的系列专栏,通过对其阅读,我从中逐步认识到了什么是架构,怎样做好架构,软件架构如何落地等内容。  一、什么是架构  在软件行业,对于什么是架构一直有很多的争论。事实... 查看详情

《架构漫谈》之阅读笔记

  什么是架构?在维基百科上是这样定义的:架构是一种过程,并且是计划、设计、构建和其他物理结构的产品。在《架构漫谈》一中认为,架构就是根据要解决的问题,对目标系统的边界进行界定。并对目标系统按某个原则... 查看详情

《架构漫谈》阅读笔记

  软件架构师如何工作?  不同于软件工程中只需要编码的“低级”码农,一名合格的软件架构师首先要对架构有深刻的理解。那么什么是架构?从建筑的角度解释,架构是计划、设计和建造建筑物、物理结构的过程和生产... 查看详情

软件架构师如何工作-架构漫谈阅读笔记

  在王概凯先生的9篇关于软件架构师的博客-《架构漫谈》中,我们可以看到文中谈到了架构的定义、含义,架构主要是要认识概念,如何做好架构之架构的切分,然后谈到了软件与架构之间的关系(什么是软件,软件架构是... 查看详情

阅读《架构漫谈》后,思考软件架构师应该如何工作

  老师上课围绕《架构漫谈》前四篇图文并茂的讲解了何为架构,架构的基础,以及识别问题和架构切分这些作为架构师需要了解的最基本的知识。现在要讨论的是软件架构师应该如何工作,如何更好的,更快的,更有效率的... 查看详情

漫谈架构读书笔记

                                 &n 查看详情

课堂作业02--架构漫谈笔记

  《架构漫谈》讲述了架构产生的原因以及怎样做架构。产生的原因:必须由人执行的工作、每个人的能力有限、每个人的时间有限、人对目标系统有更高的要求、目标系统的复杂性使得单个人完成这个系统。简单说就是所有... 查看详情

架构漫谈阅读感悟一

在一个人可以完成所有事情的时候,是没有架构的概念的,因为所有问题,所有事情都是一个人解决,这时架构没有任何意义;但是当一群人在一起的时候,这时候需要给每个人分工,需要让每个人根据自己的能力发挥自己的长... 查看详情

《漫谈架构》---读后感

  今天阅读了老师推荐的架构资料--“架构漫谈”(插入链接),感到  查看详情

《架构漫行》读书笔记

                             架构漫谈阅读笔记    &nbs 查看详情

阅读架构漫谈九篇博客有感-1500字

架构漫谈是由资深架构师王概凯撰写的系列专栏,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。架构漫谈分为九篇:什么是架构?认识概念是理解架构的基础如何做好架构之识别问题如何做好... 查看详情

软件架构师如何工作

原文链接(转载请注明出处):软件架构师如何工作前言要想了解软件架构师如何工作,首先要搞清楚这么几个问题:什么是架构,怎样理解架构,如何做好架构,什么是软件,什么是软件架构师,软件架构师的工作是什么,怎... 查看详情

架构漫谈阅读有感

 阅读了架构漫谈九篇博客https://www.infoq.cn/profile/1279517/publish,对架构和软件架构师的工作有了一个初步理论了解,也解决了个人一些对程序员发展方向和职业生涯规划的疑惑。 架构是一种使解决问题高质量高效率,并且... 查看详情

架构漫谈阅读感想

应老师的要求将王概凯老师的架构漫谈总体读了一遍,接下来谈一谈我读了之后的感想,大致上就是用自己的语言谈一谈短浅的理解。首先我们要了解一下什么是架构?根据要解决的问题,对目标系统的边界进行界定。并对目标... 查看详情

架构漫谈:如何做好架构之架构切分

本文是漫谈架构专栏的第四篇,作者将会介绍架构的切分,并直戳切分的本质其实就是利益的调整。文中作者将会讨论为什么需要切分、切分的原则、切分与建模、切分的输出和组织架构等问题。欢迎阅读和反馈。前一... 查看详情

架构漫谈读后感

...,真正的内容老师还是让我们自己课后进行阅读,来体会架构的魅力。  这本书,通俗易懂,很适合我们大学生来观看,在不断的人士学习中,我们也逐渐的解决了很多我们的疑惑,首先 查看详情

读《架构漫谈》的一些感想

  在阅读王概凯的《架构漫谈》,一共9篇。读之前以为的架构:架构啊,应该就是像想要盖房子一样,用木头搭起来的一个框架吧。听这名字,架构架构,多像“构造的架子”。读之后:我是谁?我在哪?架构能吃吗?... 查看详情

大型站点技术架构阅读笔记

1、2、3、4、5、6、7、8、9、10、11、 查看详情