一线架构师实践指南——阅读笔记1
1.关于概念架构和细化架构
①层次:系统 用户 业务;角度:功能 约束 质量属性。
②架构=组件+交互。
③概念架构仅关注高层组件,对高层组件的“职责”进行了笼统的界定,并给出了高层组件之间的相互关系,其不涉及接口细节(只有抽象组件和抽象交互机制)。
④而在细化架构中接口占据非常核心的地位,且细化架构重视通过子系统和模块来分割整个系统,有“实在的”交互机制,如基于接口编程、消息机制或远程方法调用。
2.贴近实践的多视图方法
①运行架构(进程、线程)
②逻辑架构(接口的定义、子系统的划分、(当你用C)结构化方法的模块、逻辑层(Layer))
③物理架构(服务器的选型、物理层(Tier))
④开发架构((并行开发需要)源程序目录)
⑤数据架构(数据分布与数据库Schema、(没选RDBMS)文件格式、(嵌入式系统)Flash存储结构)
⑥逻辑架构和物理架构是架构设计同一阶段中必须要同时考虑的两个方面。
⑦五个视图的思维立足点 :职责划分(逻辑视图);程序单元组织(开发视图);控制流;组织(运行视图);物理节点安排(物理视图);持久化设计(数据视图)。
3.关于逻辑架构
①划分子系统策略:
分层的细化、分区的引入、机制的提取。
②分层的细化(分层细化 横向):
展现层—展现层、控制层;
业务层—业务接口层、业务实现层、业务实体层;
数据访问层—数据访问层。
③分区的引入(分区还在一层,纵向)
④机制的提取(基于接口或抽象类的协作是机制)(基于具体类的协作算不上机制):机制是一种特殊的子系统。
三种手段位于不同的维度,相辅相成。
⑤子系统划分:4个重要原则。
⑥接口的设计:
1.接口的设计采用分而治之(分是手段,合是目的)
2.为了实现软件系统的一系列功能,这个软件单元要和其他哪些单元如何协作。
协作决定接口。
⑦质疑驱动的逻辑结构设计:
划分子系统,设计逻辑架构过程:
根据当前理解划分(从概念架构开始),找到某功能的参与单元(运用三手段进行子系统划分),让它们协作完成功能(职责协作),质疑并推进设计的深入(定义包-接口图)。
4.关于物理架构、运行架构、开发架构
物理架构主要设计:
硬件选择与物理拓扑
软件到硬件的映射关系
方案的优化
运行架构的设计内容:(控制流图是关键)(实现控制流三种手段:进程、线程、中断服务程序)
确定引入哪些控制流
确定每条控制流的任务
控制流的创建、销毁、通信机制等
控制流之间的同步关系、加锁机制等
开发架构的设计内容:
将“逻辑结构”映射为程序单元开发技术选项:开发语言、平台工具
要自主编写的源程序
可重用的库、框架
其他方式(shell脚本,平台配置文件)
浙公网安备 33010602011771号