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

    某个软件或计算系统的软件构架是该系统中的一个或多个结构,他们由软件元素、这些元素的外部可见属性以及这些元素之间的关系组成。我们所需要解决的问题就是我们的系统边界,而我们如何解决这个问题就是如何分工。架构的产生就是为了解决人的问题,而作者提到的沟通机制也是为了解决如何分工这个问题。然后依据架构的定义,我们在解决问题之前,需要知道问题是什么,是谁的问题,然后解决。

           需要明白,这个问题时谁提出,是为了解决谁的问题,将我们带入到需要解决问题的人,这样才能真正解决问题,否则只能是解决了我眼中的问题,而非解决了提出问题的人的问题。

           确立了主体,我们就要去解决问题,第一步是分工。而分工就是对相关人员的权利和责任的分配。作者提出了这样的一个观点:人的本性是维护自己的利益。这就要求分配原则需要公平。权利和责任的不对等会导致架构的坍塌。作者在最后还提出:架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。这个观点有点像扁平化管理,但是我觉得层数虽然不是越多越好,但也不是越少越好,当团队达到一定规模的时候,需要添加层数,扁平化的管理不是十分适合庞大的团队。根据要解决的问题,对目标系统的边界进行界定。并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。并对这些切分出来的部分,设立沟通机制。使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。最后得出结论:架构实际上就是指人们根据自己对世界的认识,为解决某个问题,主动地、有目的地去识别问题,并进行分解、合并,解决这个问题的实践活动。

  • 相关阅读:
    FEniCS 1.1.0 发布,计算算术模型
    Piwik 1.10 发布,增加社交网站统计
    淘宝褚霸谈做技术的心态
    CyanogenMod 10.1 M1 发布
    Druid 发布 0.2.11 版本,数据库连接池
    GNU Gatekeeper 3.2 发布
    Phalcon 0.9.0 BETA版本发布,新增大量功能
    EUGene 2.6.1 发布,UML 模型操作工具
    CVSps 3.10 发布,CVS 资料库更改收集
    Opera 移动版将采用 WebKit 引擎
  • 原文地址:https://www.cnblogs.com/jbwen/p/13229661.html
Copyright © 2011-2022 走看看