首页 > 其他 > 详细

一线架构师实践指南Refined Architecture阶段阅读笔记

时间:2020-04-09 21:55:16      阅读:63      评论:0      收藏:0      [点我收藏+]

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

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目录结构
    • 编译依赖关系

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

一线架构师实践指南Refined Architecture阶段阅读笔记

原文:https://www.cnblogs.com/zzstdruan1707-4/p/12669829.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!