zoukankan      html  css  js  c++  java
  • 《架构漫谈》读书笔记一

    架构这个概念在IT行业里面出现频率极高,比如软件架构、硬件架构、算法架构。也有各种各样的架构师,实际上每个码农否有一个自己的架构师梦,都希望有朝一日成为一名身怀绝技的架构师。那么,架构到底是什么意思。

    什么是架构

    根据要解决的问题,对目标系统的边界进行界定。

    并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。

    并对这些切分出来的部分,设立沟通机制。

    根据3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。

    同样这个思考可以展开到其他的行业,比如企业的架构,国家的架构,组织架构,音乐架构,色彩架构,软件架构等等。套用三国演义的一句话,合久必分,分久必合。架构实际上就是指人们根据自己对世界的认识,为解决某个问题,主动地、有目的地去识别问题,并进行分解、合并,解决这个问题的实践活动。架构的产出物,自然就是对问题的分析,以及解决问题的方案:包括拆分的原则以及理由,沟通合并的原则以及理由,以及拆分,拆分出来的各个部分和合并所对应的角色和所需要的核心能力等。

    一个好的架构师,如果能给他足够的时间,能完成所设计系统的所有工作。而做到这一点的前提是对系统中所涉及要素的概念有明确而清晰的认识,能够发现背后概念所代表的问题,进而能够认识目标领域所要解决的问题,这样才能为做好架构打下基础。

    以砖木取火作为例子,取火是业务目标,钻木取火是解决这个业务问题的技术手段。但是钻木取火效率太低,影响的业务目标取火的效率,因此有改进取火方式的需求,因此有业务的存在,一般都会尽量去优化技术,提升业务目标。新技术出现后,为了更好的解决问题,之前的架构就有必要进行调整,以便更好的整合新技术去提升效率。

    因此,架构整合技术解决业务问题。

    架构产生的动力:

    必须由人执行的工作(不需要人介入,就意味着不需要改造,也就不需要架构了)

    每个人的能力有限(每个人都有自己的强项,个人的产出受限于最短板,并且由于人的结构限制,同时只能专注于做好一件事情,比如虽然有两只眼睛,但是只能同时专注于一件事物,有两只手,无法同时做不同的事情。ps. 虽然有少部分人可以左手画圆右手画框,但是不是普遍现象)

    每个人的时间有限(为了减少时间的投入,必然会导致把工作分解出去,给擅长于这些工作的角色来完成,见 2,从而缩短时间)

    人对目标系统有更高的要求(如果满足于现状,也就不需要进行架构了)

    目标系统的复杂性使得单个人完成这个系统,满足条件 2,3(如果个人就可以完成系统的提高,也不需要别的人参与,也就不需要架构的涉及,只是工匠,并且一般这个工作对时间的要求也不迫切。当足够熟练之后,也会有一定的架构思考,但考虑更多的是如何提高质量,提高个人的时间效率)

  • 相关阅读:
    GIT操作命令
    flask中logger日志的使用
    Flask项目总结学习
    kubernetes容器网络
    Chrome浏览器离线安装包下载
    《Linux防火墙配置》
    Redhat7.4配置本地yum源
    zabbix5利用python脚本发报警邮件和趋势图
    screen命令
    MX记录
  • 原文地址:https://www.cnblogs.com/cj-125/p/11058286.html
Copyright © 2011-2022 走看看