• 架构漫谈阅读笔记02


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

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

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

  • 相关阅读:
    机械大楼电梯控制项目软件 -- github团队组建
    C# webBrowser 开新窗口保持Session(转)
    Asterisk manager API(AMI)文档(中文版)
    记录两个不错的软件
    extjs4 各种怪异问题
    几款打印控件
    jquery.UI.tabs
    FineUI 基于 ExtJS 的专业 ASP.NET 控件库
    Ext之ExtGrid增删改查询回顾总结
    showModalDialog 刷新问题,在页面中跳转问题
  • 原文地址:https://www.cnblogs.com/jbwen/p/13229661.html
Copyright © 2020-2023  润新知