一线架构师实践指南第三章读后感
第三章主要讲述了refinend architecture阶段,包含了细化架构和逻辑架构的讲解。
细化架构保证保证为开发提供足够的指导和限制,从概念架构到细化架构,先设计概念架构,构思关键问题的解决策略;再进行细化架构的设计。作者引用一个小故事讲述了细化架构的重要性,概念架构难以支持并行开发。要支持开发组相对独立地进行工作,须要提供指导和限制作用更明确的“规约”级的设计。在细化架构中,接口占据非常核心的地位,而概念架构并不关心明确的接口定义(只有抽象的组件和抽象的交互机制)。
细化架构和概念架构之间存在如下典型差异:
1.接口。在细化架构中,接口占据非常核心的地位,而概念架构并不关心明确的接口定义(只有抽象的组件和抽象的交互机制)。
2.子系统。细化架构重视通过子系统和模块来分割整个系统,并且子系统往往有明确的接口;而概念架构中只有抽象的组件,这些组件没有接口,只有职责,一般是处理组件、数据组件或连接组件中的一种。当然,概念架构中也有“大组件分解成小组件”的设计决策,但并非子系统的含义。
3.交互机制。细化架构中的交互机制应是“实在”的,如基于接口编程、消息机制或远程
方法调用等;而概念架构中的交互机制是“概念化”的,例如“A层使用B层的服务”就是典型的例子,这里的“使用”到了细化架构中可能基于接口编程、消息机制或远程方法调用等其中的一种。
不同涉众看待软件架构的视角是不同的,因此需要优秀的多视图方法:
多视图方法有两个方面的实际意义:
1.利于思考 2.便于交流
Refined Architecture是相对于Conceptual Architecture而言的,它们是架构设计的两个层次,分别对应于“概念级”解决方案和“规约级”解决方案。
这三种策略背后有4个通用设计原则:
在课堂上老师利用房屋租赁服务系统的实例让我们对细化架构和逻辑架构有了进一步认识,以下是我的子系统划分
以上是目前所学到的内容,后面的内容粗略的读了一遍,但是还没有老师的讲解,所以暂时就这么多。