• 架构设计之细化架构分析


      再说细化架构之前,先说说:“架构师到底该干什么”,是不是架构师提交完《架构设计文档》之后,就彻底没有事了呢?

      如若这样,那么就苦了程序员了,只有概要架构,没有细化架构对于程序员来说无异于加大了程序员的工作。为何会如此,我们先来了解一下细化架构和概要架构就很方便理解了。

      •   接口,对于概要架构来讲,无需涉及到接口层面,只需要分析到每个模块的功能或者是职责就可以了。相反在细化架构中也就是程序员编写程序的途中,接口的定义就显得很重要了。
      •     子系统,在细化架构中,子系统便于我们分割系统功能,降低程序的耦合度,是代码更加容易理解并且子系统往往具有明确的接口;而在概要架构中,尽管有抽象都组件来分割功能,但是这就相当于一个公司的整个工作车间,而没有对整个工作车间进行下一步划分,比如说:一个生产车辆的车间,概要设计是划分了车的发动机、底盘等车间,而没有对发动机车间进行再一次的细化。概要设计中也有“大组件分解位小组件”的含义,但是并不符合子系统的含义。
      •       交互机制,再细化架构中交互机制是“实实在在”的,比如:接口的调用、参数的传递、函数调用等等,这种交互机制的定义可以方便程序员快速理清程序的脉络,能更快的设计出合格的程序。而概念架构中的交互机制是概念化的,只是定义了这两个层之间有关联关系:“A层使用了B层的服务”。

      这里有一则故事《什么是软件架构》,在深入理解下细化架构:

     

       我第一次看这则故事的时候,也在想这么一个问题软件架构到底是什么,它到底包括哪几方面呢?

      故事中每个职业对架构的理解都不一样,那么到底那个是对的呢,还是他们说的都对?答案很显然,一个好的软件架构师应该能将这些情况都考虑在内,那么这么多情况呢谁能保证自己不忘了一个或者少考虑了一方面。这时候就需要对架构进行进一步的细化分类。

      将架构细化,运用多视图的方法对架构的层面进行划分,这样能理清架构思路,也能统筹大局,把握好系统架构。


    参考文献:

      温昱,《一线架构师实践指南》

  • 相关阅读:
    在项目中使用Google Closure Compiler
    在Dreamweaver 中设置SVN的步骤
    挣脱浏览器的束缚(2) 别让脚本引入坏了事
    Java配置环境变量
    Spring3简介
    Java开发常用地址
    struts2 入门
    Spring3 jar包说明
    角色和定位
    QCon 2011参会收获——其它
  • 原文地址:https://www.cnblogs.com/huan-ch/p/12662762.html
Copyright © 2020-2023  润新知