• 关于软件架构师如何工作(阅读架构漫谈感悟)


      关于软件架构师是如何工作的,身为一名学习软件工程的大学生,并不是十分了解一名软件架构师的工作方式,最近学习了软件架构这门课程,因此接触到了软件架构。在阅读了架构漫谈之后,对这一概念有了进一步的了解,也对我接触这门课程以及这个行业有了初步的认识。

      首先,要理解什么是架构,在架构漫谈一中提到,架构架构的英文是Architecture,在Wikipedia上,架构是这样定义的: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。我查了下这句话的意思,大概是说架构(拉丁当时从希腊ἀρχιτέκτωνarkhitekton“架构师”,从ἀρχι——“首席”和τέκτων“建设者”)是过程和产品的规划、设计和建造建筑物和其他ph值。在架构漫谈中举了早期社会每个人独立的生活方式慢慢到人们成为一个群体,成为群体之后人们为了生存产生的阶层 ,分工等等这样慢慢的形成了一个社会的架构。通过这个例子我大致把架构理解成:把一个任务分割成多个部分,每个人负责不同的部分,而且人们之间具有良好的联系沟通机制,通过每个人的有机结合使得这个任务得以完成。文中也举了多个例子对架构进行了解释,总体来说我对架构有了自己的一个认识。架构在很多行业都会存在,架构这个东西,从不同人的角度出发,所产生的架构可能也会千差万别,不同的拆分,不同的分工,不同的时间需要等等,这些都是不同架构产生的因素。所以软件架构师这个行业,我认为对一个软件的理解是十分重要的,如何化零为整,化整为零这些都是一个软件架构师应该具备的。

      在来看架构漫谈二中提到的概念这个东西,我相信对很多人说,这是很模糊的东西,对于一个物品的概念,我们大多是在长期的生活中有了潜意识,见到杯子就是用来接水的,在往深的想想就是盛放液体的东西,所以具体应该怎么定义这个东西,会有很大的差距,这就有件事,我们老师在上课时问什么什么是桌子,很多人脱口而出四个腿啊之类的,这也是出于常识对这个东西的理解,仔细想想之后对桌子这个东西也会有个不同的概念,只要满足某一个需要的一个物体的一个功能,从抽象角度来说,就是算是一类物品。回过头来,根据架构的定义,要做好架构所首先必须具备的能力,就是能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样才能够为做好架构打好基础。因此对于架构,想要做架构的时候,需要理解所做领域的东西。作为一名软件结构师也是这样,对于一个软件所属领域,必须要快速进入并掌握这个领域,然后才能够正确的解决问题。

      按照之前架构的定义,做好架构首先需要做的就是识别出需要解决的问题,那么接下来就是如何识别问题了。在看架构漫谈三中,一个简单的笑话:女主人公:老公,把袋子里的土豆切一半下锅。结果老公是把袋子里的每个土豆都削了一半,然后下锅。这个从简单点说是男生对女生的话理解有了偏差。但是,仔细的去看待这个问题,女主的需要时完成两个人或者这个家庭人一顿饭的问题,那么问题的关键是什么?是一家人合适的吃饭的量,而男主只是从字面上,有了错误的理解。对于一个工程师呢,如果对于一个给到的问题,只是自己一闪而过的念头,没有找到问题的关键所在那么也不会成为一个合格的工程师。我们要解决的问题,一定都是人的问题。更进一步,架构师要解决的,基本都是别人的问题,不是自己的问题。再进一步,我们一定要明白,任何找上架构师的问题,绝对都不是真正的问题。为什么呢? 因为如果是真正的问题的话,提问题过来的人肯定都能够自己解决了,不需要找架构师。架构师都要有这个自觉:发现问题永远都比解决问题来的更加重要

  • 相关阅读:
    模块和包
    mysql视图、存储过程等
    mysql 索引
    sql语句
    HTTP协议
    Django中的form组件
    数据结构
    一些常用函数
    C/C++中tag和type
    什么是compile-time-constant
  • 原文地址:https://www.cnblogs.com/yuezhihao/p/8529952.html
Copyright © 2020-2023  润新知