首页 > 其他分享 >《架构漫谈》读后感

《架构漫谈》读后感

时间:2024-02-28 12:44:54浏览次数:19  
标签:读后感 架构 漫谈 问题 理解 软件架构 解决 架构师

今天拜读了王概凯老师的架构漫谈。软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。而软件体系结构中最为重要的是对架构的理解和应用。架构作为这门课程的重要的词语,在王概凯Kevin的架构漫谈中有了更加深刻的理解,对于架构也有了一个初步的新的认识,理解这些基础概念对于做架构是非常重要的。

 

首先,第一个问题什么是架构?

架构,英文的定义是:

Architecture (Latin architectura, from the Greek ἀρχιτέκτων arkhitekton"architect", from ἀρχι- "chief" and τέκτων "builder") is both the process and the product of planning, designing, and constructing buildings and other physical structures。

 

架构是规划、设计、建造建筑物和其他物理结构的过程和产物。

看起来很难理解,所以咱们再重新理解一下:

 

把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。

 

这样,就可以理解到ssh框架的架构的含义了:

Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持。Spring一方面作为一个轻量级的IoC容器,负责查找、定位、创建和管理对象及对象之间的依赖关系,另一方面能使Struts和Hibernate更好地工作。

 

Struts,Hibernate,Spring各司其职,分别承担着不同的功能作用,承担着不同的角色,他们进行分工,但又联合紧密,形成了一个整体,这就构成了一个框架。

 

Kevin总结出了构架产生的动力:

1.由人执行的工作。

2.每个人的能力有限。

3.每个人的时间有限

4.人对目标系统有更高的要求

5.目标系统的复杂性使得单个人完成这个系统,满足条件2,3。

 

为什么产生了构架?是因为社会的发展,我们学会了偷懒,学会了进步,理解到了分工的必须,以及分工之后带来的好处。

 

至此先初步总结一下什么是架构:

架构是为了解决一个问题,对解决的方法进行分工,但是这些分工要建立起沟通机制,重新组成一个完整的解决方案,完成目标的工作。这个过程,就是架构。

 

架构实际上解决的是人的问题:

如何理解架构,如何有效的去认识架构?这就需要们能够认识到概念的含义:

什么是概念,怎样理解概念?

 

概念是一个名字,每个概念实际上所解决的,还是人遇到的某个特定的问题,我们把解决问题的解决方案,给定了一个名字,这个名字就是对应的某个特定的概念。

所以,我们明确概念的最重要的步骤,是考虑到这个物或者是方法,是为了解决人的什么问题的,从这个角度才能够深入的理解概念。

 

回过头来,根据架构的定义,要做好架构所首先必须具备的能力,就是能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样才能够为做好架构打好基础。

 

好了,知道你现在已经能够很好的理解什么是架构了,那么,新的问题来了如何能够成为一个合格的架构师呢?

作为软件工程师或者架构师,我们大部分时候是要去解决别人的问题,“别人”是谁,是值得好好思考的。只有真正明白了是谁的问题,才能够真正地完成自己的任务,真正地把自己的问题解决掉,而不是反过来。找出问题的主体,是做架构的首要问题。我们要解决的问题,一定都是人的问题。更进一步,架构师要解决的,基本都是别人的问题,不是自己的问题。再进一步,我们一定要明白,任何找上架构师的问题,绝对都不是真正的问题。为什么呢? 因为如果是真正的问题的话,提问题过来的人肯定都能够自己解决了,不需要找架构师。架构师都要有这个自觉:发现问题永远都比解决问题来的更加重要。

 

软件架构师做什么工作呢?

 

软件架构师要做的就是从做好架构出发,让软件工程师写好代码,架构师对需求以及问题做好了分析和切分之后,设计系统框架,然后程序员按照框架来编写代码,如果最终编写出来的软件不能用来解决用户的需求或者问题,或者太复杂繁琐,说明在整个系统架构是上出现了问题,而一个好的架构师则会充分做好软件架构,包括代码架构以及承载代码运行的硬件部署架构,设计出来的框架会真正的解决各方的问题包括自己的。

 

做为软件架构师,其主要角色应该是解决业务问题,至于技术问题应该交给技术人员,自己专注于软件本身的架构,当然在解决业务问题的过程中,软件架构师还要准确识别要采用什么技术来解决问题更加高效方便,这个能力也是软件架构师所应该具备的。考虑的主要因素也是长期的成本和收益。

标签:读后感,架构,漫谈,问题,理解,软件架构,解决,架构师
From: https://www.cnblogs.com/kun1790051360/p/18039928

相关文章

  • 程序是怎么跑起来的第五章读后感
    第五章内存和磁盘的新密关系,在此前的程序都是通过改变计算机的布线等来变更程序的,而现在程序都由存储设备保存,通过读取进行运行操作,储存部件由内存和磁盘组成。储存在磁盘中的程序需要再读入到内存后才能运行,应为磁盘读取的速度慢,程序的运行速度会降低。磁盘中的数据在读出后可以......
  • SpringCloud系列之(四)微服务架构编码构建
    微服务架构编码构建一、IDEA新建project工作空间1.微服务cloud整体聚合父工程Project【父工程Project空间新建】NewProject聚合总工程名字Maven选版本字符编码注解生效激活java编译版本选8FileType过滤【选做】删除src目录2.父工程POM文......
  • SpringCloud系列之(一)微服务架构零基础理论入门
    微服务架构零基础理论入门一、微服务架构概述1.什么是微服务由MartinFlower提出微小的、独立的进程、轻量级、可独立部署​ 微服务架构是种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,......
  • 《系统科学方法概论》第五章读后感
    《系统科学方法概论》的第五章讲的主要是自组织系统方法。自组织系统理论的提出是19世纪以来热力学同生物矛盾发展的结果。热力学第一定律、热力学第二定律从19世纪热力学中得出的几点结论1.在一个孤立系统中,热运动总是从不平衡态趋向于平衡态,并且最终达到平衡。如把一杯热水倒......
  • 《系统科学方法概论》第五章读后感
    第五章主要讲的是自组织系统方法,首先还是其,历史发展,主要讲述了自,组织系统理论的提出并不是偶然的,他是19世纪中期以来热力学同生物学矛盾发展的结果,而随着其矛盾的解决,就产生了自组织系统理论,而第二节主要讲的是耗散结构理论简介,而耗散结构就是能量耗散过程,它还具有动态性,有序性,宏......
  • 《程序是怎样跑起来的》第四章读后感
    第四章的题目为让内存化方为圆,看了n遍的我还是没有看出来题目的含义,内存条的物理结构非常简单,但看完这章后才发现小小的一张条中居然有不少东西,也让我认识到不少东西,地址信号与数据信号,与电源,物理结构是非常简单,只要指定了容器的地址就可以对数据进行相应的读写,逻辑部分相比于物理......
  • 《系统科学方法概论》第五章读后感
    第五章介绍了自组织系统方法。自组织系统理论包括四个部分:一是散耗结构理论、二是协同学、三是超循环学说、四是突变论。自组织系统的产生不是偶然的,它是19世纪中期以来热力学同生物学矛盾发展的结果由于机械化大生产的推动,19世纪中期热力学和分子物理学发展起来了,并发现了热力学......
  • 程序是怎样跑起来的第九章读后感
    阅读完第九章操作系统和应用的关系。我了解到作者对程序的执行流程进行了深入的剖析,详细解释了计算机如何从高级语言编写的源代码逐步转换为机器可以执行的二进制代码。这一章的内容让我进一步了解计算机的意义,它不仅揭示了计算机程序的底层运行机制,还展示了编程语言与机器之间的......
  • 《程序是怎样跑起来的》第十一章读后感
    本章的主题是“硬件控制方法”。“计算机如果没有软件,就仅仅是个箱子”,也就是说,软件的存在是硬件正常运行的必要条件,本章主要讲到是程序如何控制CPU和主内存以外的硬件。开篇作者就用一张图说明了硬件控制软件,如下。而Window控制硬件借助的是输入输出指令,书中讲到两种指令,IN和O......
  • 《程序是怎样跑起来的》第二章读后感
    第二章为用二进制理解数据,我掌握了二进制转换为十进制的方法,理解了位权这个概念。二进制数种表示负数值时,一般会把最高位作为符号来使用,因此我们把这个最高位成为符号位。符号位是0时表示正数,符号位是1时表示负数。计算机在做减法运算时,实际上内部是在做加法运算。用加法运算来实......