zoukankan      html  css  js  c++  java
  • 架构漫谈阅读笔记

    阅读王概凯先生的架构漫谈https://www.infoq.cn/profile/1279517/publish

    为什么会产生架构?

    王概凯先生在第一讲中讲述的很形象了。当一份工作,一个人能力有限或者有限时间内完不成的时候,就需要多个人合作来完成。

    公司不会说让一个人负责一个项目,而是一个团队。假设当你的团队拿到一个项目的时候,那么该如何分工呢?谁负责哪一块儿,他们之间如何联系,最后怎么把每一部分有机的合在一起呢?

    这时候架构就诞生了,理解王概凯先生提出的产生架构的五个动力:

    1.必须由人执行的工作

    2.每个人的能力有限(每个人都有自己的一个弱点,分工,把合适的人放在合适的岗位)

    3.每个人的时间有限(追求最短时间内完成,要求效率)

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

    5.目标系统的复杂性使得单个人有限时间完不成

    什么是架构?

    根据要解决的问题,对目标系统的边界进行界定。对系统按照一定的原则进行切分,并且每一部分建立联系,最后再有机的合在一起。

    如何做好架构之识别问题?

    按照架构的定义,做好架构首先需要做的就是识别出需要解决的问题。

    总结一下,要正确的认识问题,需要问两个问题:

    1.这是谁的问题?(找出问题的主体,是做架构的首要问题。)系统为谁服务

    2.有什么问题?

    如何做好架构之架构切分?

    之前有一次,我们四个人的团队合作一个小软件项目。但是由于我们四个都不懂都还没有接触过开发app(实际上切分的过程就是建模的过程,每次对大问题的切分都会生成很多小问题,每个小问题就形成了不同的概念。这一点我们四个没有人做到)。于是我们就盲打莽撞地上手了,结果因为切分的不准确(架构的切分实际就是对系统的利益相关人的利益进行切分,这一点没有做好)。分来分去,最后也不懂得如何合在一起,所以最后干脆一个人就完成了(架构的切分的导火索是人的负载太重。对于这一点,我们就是没有导火索了)。这是一次失败的合作。

    什么是架构师?

    我认为如果想做一名架构师,首先进入公司,从最底层的程序员开始做起。当然也不能只是埋头做自己的工作,不会的请教别人,也要多帮助别人解决问题,帮别人解决问题就是成长的过程。如果一个人在工作中,只是致力于完成自己的工作,以做好自己的工作为主要目标,那么最多只能成为一个工匠,无法成为一个架构师。最后,干了几年,你积累了很多的经验,别人都向你请教问题的时候,你距离软件架构师也就不远了。做架构师的前提就是你要对软件了如指掌。

  • 相关阅读:
    制作你的第一个HTML 5游戏
    拒绝臆想,让我们脚踏实地做设计!
    HTML 5或者Silverlight?
    如何替换掉回车键
    杀死团队的武器与修复团队的方法
    Google趋势中显示jQuery是最流行的JavaScript框架
    关于脚本载入器的思考
    简化Web开发的12个HTML5CSS框架
    线框图(demo草图)制作的总结
    江苏南通周边经纬度
  • 原文地址:https://www.cnblogs.com/sengzhao666/p/12331608.html
Copyright © 2011-2022 走看看