zoukankan      html  css  js  c++  java
  • 《架构漫谈》读后感

        在今天王老师的课上,我们阅读了 《架构漫谈》,它是由资深架构师王概凯 Kevin 执笔的系列专栏。它为我们讲述了 什么是架构、怎样理解架构、如何识别架构等等。

        在《架构漫谈》上,王概凯说架构就是一个过程,架构产生的动力是:

    1. 必须由人执行的工作(不需要人介入,就意味着不需要改造,也就不需要架构
    了)
    2. 每个人的能力有限(每个人都有自己的强项,个人的产出受限于最短板,并且
    由于人的结构限制,同时只能专注于做好一件事情,比如虽然有两只眼睛,但
    是只能同时专注于一件事物,有两只手,无法同时做不同的事情。ps. 虽然有
    少部分人可以左手画圆右手画框,但是不是普遍现象)
    3. 每个人的时间有限(为了减少时间的投入,必然会导致把工作分解出去,给擅
    长于这些工作的角色来完成,见 2,从而缩短时间)
    4. 人对目标系统有更高的要求(如果满足于现状,也就不需要进行架构了)
    5. 目标系统的复杂性使得单个人完成这个系统,满足条件 2,3(如果个人就可以
    完成系统的提高,也不需要别的人参与,也就不需要架构的涉及,只是工匠,
    并且一般这个工作对时间的要求也不迫切。当足够熟练之后,也会有一定的架
    构思考,但考虑更多的是如何提高质量,提高个人的时间效率) 

        总结一下,什么是架构,就是:
              1. 根据要解决的问题,对目标系统的边界进行界定。
              2. 并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切
              分出来的部分,并行或串行开展工作,一般并行才能减少时间。
              3. 并对这些切分出来的部分,设立沟通机制。
              4. 根据 3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成
              目标系统的所有工作。

         那么要怎样理解架构呢?我们自以为都理解了,但是事实上我们并没有理解它的意思。就像我们自以为理解了桌子是什么,但让你说出桌子的定义的时候,你也许就会卡壳,这实际上就导致了做架构的时候,不同角色的沟通会出很多问题,那么结果也就可想而知了。

     

     

  • 相关阅读:
    【和我一起学习Unity3D】Unity3D的坐标控制
    android开发利器--站在巨人肩膀上前行
    Ubuntu输入password登陆后又跳回到登录界面
    Leetcode:Swap Nodes in Pairs 单链表相邻两节点逆置
    Android Home键监听
    Android 6.0 中TimePicker显示为滚动样式的方法
    Android Calendar的运用
    Android中Calendar类的用法总结
    Androlid入门之文件系统操作(三)文件读写
    Android入门之文件系统操作(二)文件操作相关指令
  • 原文地址:https://www.cnblogs.com/liguoshuai/p/6497767.html
Copyright © 2011-2022 走看看