细化架构阅读笔记

细化架构与概念架构之间的典型差异:

  • 接口。在细化架构中,接口占据非常核心的地位,而概念架构并不关心明确的接口定义(只有抽象的组件和抽象的交互机制)。

  • 子系统。细化架构重视通过子系统和模块来分割整个系统,并且子系统往往有明确的接口;而概念架构中只有抽象的组件,这些组件没有接口,只有职责,一般是处理组件、数据组件或连接组件中的一种。当然,概念架构中也有“大组件分解成小组件”的设计决策,但并非子系统的含义。
  •  交互机制。细化架构中的交互机制应是“实在”的,如基于接口编程、消息机制或远程方法调用等;而概念架构中的交互机制是“概念化”的,例如“A层使用B层的服务”就是典型的例子,这里的“使用”到了细化架构中可能基于接口编程、消息机制或远程方法调用等其中的一种。

 

多视图方法:

不同涉众看待软件架构的视角是不同的,贴近实践的多视图方法,应将一线架构师的各项具体工作涵盖其中。

架构设计是一门解决复杂问题的实践艺术,多视图方法的思想核心是分而治之。

多视图方法有两个方面的实际意义:

  • 利于思考(因为分而治之的思维方式)

  • 便于交流(因为在一定程度上分离了涉众关注点)

逻辑架构:

划分子系统、定义接口等,这些典型工作都属于逻辑架构设计的范畴。

划分子系统的3种必用策略:

  • 分层的细化
  • 分区的引入
  • 机制的提取

 

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

  • 职责不同的单元划归不同子系统

  • 通用性不同的单元划归不同子系统

  • 需要不同开发技能额单元划归不同子系统
  • 兼顾工作量的相对均衡,进一步划分太大的子系统

  

   接口设计:

“分”是手段,“合”是目的,不能“合”在一起支持更高层次功能的模块,又有何用?

 协作决定接口。

 

逻辑架构设计的10条经验要点:

 

逻辑架构设计中设计模式应用:

  •  明确子系统内的结构
  •  明确包间的协作关系

 

参考文献:

《一线架构师实践指南》 温昱

猜你喜欢

转载自www.cnblogs.com/zwang/p/12669288.html