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

架构漫谈读后感

时间:2024-03-01 15:49:10浏览次数:18  
标签:读后感 架构 漫谈 问题 概念 软件架构 解决 架构师

这几天,读了一篇系列文章《架构漫谈》,其中通俗易懂的语言,风趣幽默的风格,形象明了的对比形式让我对架构有了更进一步的了解。

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

架构,英文的定义是:

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。

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

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

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

架构产生的必要条件包括:

  1. 必须由人执行的工作;
  2. 每个人的能力有限;
  3. 每个人的时间有限;
  4. 人们对目标系统有更高要求;
  5. 目标系统的复杂性超出单个人的能力范围。

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

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

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

文章以日常生活中常见的“杯子”、“桌子”为例,揭示了概念并非简单指向实体物品本身,而是其所承载的功能或作用。例如,杯子解决的是人单手持握并能盛放液体的需要,而桌子则是为了解决人在坐姿状态下手部活动支撑和平稳放置物品的问题。这样的解读有助于我们跳出表象,洞察事物内在的目的和价值。

文中进一步阐述了抽象的概念,指出抽象并非用于定义事物,而是将多个概念中相似之处提取出来形成新概念的过程。然而,需要注意的是,抽象的新概念并不等同于原概念,两者解决的问题可能存在差异,如杯子与容器的关系。

作者提倡架构师应该具备准确识别和理解概念的能力,因为这是架构工作的基石。在面对新技术或新领域的挑战时,若能迅速抓住核心概念,理解其背后要解决的实际问题,则有助于快速有效地学习和应用。这对于架构设计、技术选型乃至创新都有着深远的影响。

总之,通过这篇文章,我们可以深刻认识到,无论是架构设计还是其他领域的知识学习,都需要从深层次理解概念出发,挖掘概念背后的实际需求和目的,这样才能更好地进行系统设计、高效学习和问题解决。

作者强调了识别问题在架构设计中的核心地位,指出正确识别问题是解决问题的关键,而这正是区分普通工程师与优秀架构师的重要标志之一。文章通过实例揭示了在处理问题时容易出现的误区,如混淆问题与解决方案、忽视问题的主体等,并提醒读者在面对问题时要问对问题:“这是谁的问题?”和“有什么问题?”

文中提到,在日常工作中,工程师们往往急于寻找解决方案,却忽略了对问题本身的深入理解和探究,这可能导致看似完成了任务,实则并未真正解决问题,反而可能带来更多后续问题。识别问题首先要明确问题的主体,即问题归属于谁,这将有助于划定问题边界,引导我们深入了解问题的具体内容和背景信息。

以切土豆的笑话为例,问题的主体是家庭成员而非单一的执行任务的个体,识别到这一点就能发现真正的需求是为家人准备晚餐,从而有可能质疑初始解决方案的合理性,并进一步提出一系列相关问题,确保最终解决问题并达成令人满意的结果。

在软件开发领域,架构师通常需要解决他人提出的问题,而这些问题往往是以解决方案的形式呈现。架构师的任务是追溯问题根源,识别真正的问题主体,从而确保问题得到正确定义和有效解决。在面对诸如用户提出“需要一把锤子”这样的解决方案式问题时,架构师需要通过访谈、体验和数据分析等方式,深入理解用户的真实需求,定位问题的真正主体和边界。

总结而言,识别问题是架构师的重要技能,正确理解问题主体、明确问题边界有助于架构师更精准地定位问题本质,从而设计出切实可行的解决方案。在面对复杂问题时,架构师需要有足够的耐心和洞察力,不断追问和探寻,直到找到问题的核心所在。通过精准识别问题,架构师不仅能从根本上解决问题,还能提高工作效率,降低因未能彻底解决问题带来的潜在成本。

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

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

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

标签:读后感,架构,漫谈,问题,概念,软件架构,解决,架构师
From: https://www.cnblogs.com/jm56/p/18047219

相关文章

  • 《架构杂谈》读后感
    今天阅读了王概凯的架构漫谈:     第一节讲的是什么是架构,在文中,他首先列举了Wikepadia上的定义。然后他从早期人们为了生命的延续分工合作来解释了为什么要产生架构?——把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分......
  • 互联网架构点
    设计大型互联网网站的项目架构是一个复杂而关键的任务,它需要考虑性能、可伸缩性、可靠性、安全性以及维护性等多方面因素。大型互联网项目的架构设计应该根据具体的业务需求和规模来调整,同时要考虑未来的扩展性。这通常需要深入了解业务需求、技术趋势和最佳实践,以做出明智的决策......
  • 《构建之法》读后感
    构建之法读书心得体会读完《构建之法》第一章后,我对软件开发中的各种问题和挑战有了更深入的理解。这本书以其独特的视角,清晰的分析和实用的建议,使我重新审视了软件开发的过程和方法。以下是我的主要心得体会:1.**理解复杂性**:书中强调了理解复杂性在软件开发中的重要性。我们不......
  • 架构漫谈
    首先来看,什么是架构?为什么会出现架构?文章中是这么说的。在每个人都必须自己完成所有生活必须品的生产的时候,是没有架构的(当然在个人来讲,同一时刻只能做有限的事情,在时间上还是可能会产生架构的)。一旦产生的分工,就把所有的事情,切分成由不同角色的人来完成,最后再通过交易,使得每个个......
  • 云计算 - 阿里云最佳云上实践介绍 卓越架构
    相较传统IDC,云计算的快速迭代增加了维持良好架构的难度。云应用需关注稳定性、安全性、性能和成本。阿里云通过多年经验,发展了一套名为"AlibabaCloudWell-ArchitectedFramework"的优秀架构框架,以协助用户构建出色的云架构。关注【TechLeadCloud】,分享互联网架构、云服务技......
  • 《系统科学方法概论》——第五章读后感
    本章主要讲解了自组织系统方法。第一节就简单讲述了自组织系统理论的发展历程,为以下更深入的了解做了铺垫。第二节则讲述了耗散结构理论,它是由比利时自由大学教授普利高津提出的。普利高津在总结前入经验的基础上,根据系统与环境的关系,把系统分为三类:1、孤立系统。即与环境没有物......
  • 架构杂谈的读后感
    软件架构是指对软件系统整体结构和各组成部分之间关系的抽象描述。它不仅包括软件的结构和行为,还涉及到软件系统的演化、性能、灵活性、可维护性等方面。在软件开发过程中,良好的架构设计可以帮助开发人员更好地理解系统需求,提高开发效率,降低维护成本,并且使得系统更加稳定、可靠。......
  • 《程序是怎样跑起来的》第十一章读后感
    《程序是怎样跑起来的》第十一章深入探讨了并发与并行的概念及其在程序执行中的应用。本章首先解释了并发和并行的区别,指出并发是多个任务交替执行,而并行是多个任务同时执行。接着,介绍了常见的并发模型和并行计算的方法,如多线程、多进程和分布式计算等技术,并强调了如何避免并发和......
  • 系统科学方法概论第四章读后感
    关于自动控制的思想和技术,早在古代就已经有了,不过其机械原理都还比较简单,而且主要是用在生活娱乐方面,与社会生产的联系并不紧密。近代的控制论萌芽主要是在机械化大生产之上产生的自动调速技术和后来发展成的伺服机理论。主要表现在1.自动调速技术。2.伺服机理论的建立。无论是自......
  • 《程序是怎样跑起来》第六章读后感
    通过阅读第六章,我们和作者深入了解和探究了核心机制,包括程序的编译与执行过程、操作系统的角色以及内存管理等关键概念。这一章节不仅介绍了这些概念的理论基础,还通过具体的例子和类比,帮助我们更好地理解程序是如何在计算机中运行的。在这一章所讲述的程序运行机制对我启发很大。......