软件架构的基本概念

 软件构架 是什么,你是怎么理解软件架构的?
二派观点:
  组成派:
  软件系统的构架将系统描述为计算组件与组件的交互。计算组件是泛指,可以进一步细分为,处理组件、数据组件、连接组件等  总之。 组件可以是子系统、框架、模块、类等不同粒度的软件单元。它们可以担负不同的职责。
   决策派:
   RUP中对软件架构的定义
   软件架构包含了关于以下问题的重要决策
  1.    软件系统的组织
  2. 选择组成系统的结构元素和它们之间的接口,以及当这些元素相互协作时所体现的行为
  3. 如何组合这些元素,使它们逐渐合成为更大的子系统
  4. 用于指导这个系统组织的架构风格
 可以看出来 软件架构是围绕 组件 和 决策 二个视角展开的
  
软件架构关注分割与交互
       以MVC为例,包括三个组件: Model、View、Controller
       View创建一个Controller,Controller根据View的用户交互调用Model相关的服务、Model会将自身的改变通知View,View读取Model更新后的内容。
软件架构是一系列有层次性的决策
架构方案事例:
        用户需要一个甘特图显示项目工期的需求,
        思考: 信息查看方式:列表式、图形式;至少二种。
        思考甘特图问题,是自行开发还是利用第三SDK。用户不关心你用什么技术,只关心需求有没有满足。
        短期内决定用第三方可能并不是最优的,基于以上分析、架构师会决定 采用第三方SDK,但是会自主定义接口将SDK隔离.
        
 




原文地址:https://www.cnblogs.com/chenqingwei/p/2228400.html