zoukankan      html  css  js  c++  java
  • 软件架构的基本概念

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




  • 相关阅读:
    有关线程与进程的参考资料
    [Notes] 各种数据源配置
    [Notes] 显卡更新后docker nvidia-runtime不可用
    [Tips] numpy diff
    [Tips] vs code ssh remote情况下如何选者python
    RSA算法之学习
    湖南大学推荐书《社会学大纲》阅读有感 其一
    解决某些应用程序阻止了IDM集成到浏览器中的问题
    Oracle实现判断功能三种方式总结
    JS实现数字每三位加逗号
  • 原文地址:https://www.cnblogs.com/chenqingwei/p/2228400.html
Copyright © 2011-2022 走看看