• 阅读笔记一线架构师实践指南02


      通过阅读这部分,学到如下:

    1.关于概念架构和细化架构

      1)层次:系统 用户 业务 角度:功能 约束 质量属性
      2)架构=组件+交互
      3)概念架构仅关注高层组件,对高层组件的“职责”进行了笼统的界定,并给出了高层组件之间的相互关系,其不涉及接口细节(只有抽象组件和抽象交互机制)。
      4)而在细化架构中接口占据非常核心的地位,且细化架构重视通过子系统和模块来分割整个系统,有“实在的”交互机制,如基于接口编程、消息机制或远程方法调用。

    2.贴近实践的多视图方法

      1)运行架构(进程、线程)
      2)逻辑架构(接口的定义、子系统的划分、(当你用C)结构化方法的模块、逻辑层(Layer))
      3)物理架构(服务器的选型、物理层(Tier))
      4)开发架构((并行开发需要)源程序目录)
      5)数据架构(数据分布与数据库Schema (没选RDBMS)文件格式 (嵌入式系统)Flash存储结构)
      6)逻辑架构 物理架构是架构设计同一阶段中必须要同时考虑的两个方面

      7)五个视图的思维立足点 :
        职责划分(逻辑视图) 程序单元组织(开发视图) 控制流  组织(运行视图) 物理节点安排(物理视图) 持久化设计(数据视图)

    3.关于逻辑架构

      1)划分子系统策略:
        分层的细化、分区的引入、机制的提取
      2)分层的细化(分层细化 横向):
        展现层—展现层 控制层
        业务层—业务接口层 业务实现层 业务实体层
        数据访问层—数据访问层

      3)分区的引入(分区还在一层 纵向)
      4)机制的提取(基于接口或抽象类的协作是机制)(基于具体类的协作算不上机制):
      机制是一种特殊的子系统
    三种手段位于不同的维度,相辅相成

      5)子系统划分:4个重要原则

      6)接口的设计1.接口的设计采用分而治之(分是手段 合是目的)
    2.为了实现软件系统的一系列功能,这个软件单元要和其他哪些单元如何协作。
    协作决定接口
      7)质疑驱动的逻辑结构设计:(这里采用课件 整理好后的书上的内容)

    • 划分子系统,设计逻辑架构过程:
      • 根据当前理解划分(从概念架构开始)
      • 找到某功能的参与单元(运用三手段进行子系统划分)
      • 让它们协作完成功能(职责协作)
      • 质疑并推进设计的深入(定义包-接口图)



    4.关于物理架构、运行架构、开发架构

    1. 物理架构主要设计:
    • 硬件选择与物理拓扑
    • 软件到硬件的映射关系
    • 方案的优化
    1. 运行架构的设计内容:(控制流图是关键)(实现控制流三种手段:进程 线程 中断服务程序)
    • 确定引入哪些控制流;
    • 确定每条控制流的任务;
    • 控制流的创建、销毁、通信机制等;
    • 控制流之间的同步关系,加锁机制等
    1. 开发架构的设计内容:
    • 将“逻辑结构”映射为程序单元
      • 要自主编写的源程序
      • 可重用的库、框架
      • 其他方式(shell脚本,平台配置文件)
    • 开发技术选项:开发语言,平台工具
    • “程序单元”间关系
      • Project划分
      • Project目录结构
      • 编译依赖关系

      除了上述内容 我还了解到了重用的重要性(重用的目标是节省成本,关键是重用测试)
      还有就是始终要考虑非功能需求(质量属性)以及约束

  • 相关阅读:
    MT【55】近零点
    MT【54】一道二次函数问题的几何意义
    MT【53】对数平均做数列放缩
    MT【52】空间法向量理解直线条数
    MT【51】一道三角求最值问题
    MT【50】高中曲线系集大成之双切线法
    MT【49】四次函数求最值
    ps中图层混合模式、多图层叠加、不透明度、填充、图层样式详解
    GDB基本调试
    24位和8位BMP图片保存纯C代码
  • 原文地址:https://www.cnblogs.com/zzstdruan1707-4/p/12669829.html
Copyright © 2020-2023  润新知