面向模式的软件架构读书笔记##
第一章 模式##
- 模式都是一条由三部分组成的规则,诠释了特定背景、问题和解决方案之间的关系。
- 模式分类:
- 架构模式:是具体软件架构的模板,描述了应用程序系统级结构特征,并将影响到子系统的架构。比如:Model-View-Controller模式
- 设计模式:设计模式是中型模式,规模比架构模式小,但通常独立于编程语言和编程范式(paradigm)。 应用设计模式不会影响软件系统的基本架构,但可能严重影响子系统的架构。比如:Observer模式
- 成例:一种低层(low-level)模式,针对的是特定编程语言。成例阐述如何使用给定 语言的功能来实现组件或组件间关系的特定方面
第二章 架构模式##
常用的8种架构模式
- Layers(分层)
- Pipes and Filters(管道和过滤器)、
- Blackboard (黑板)、
- Broker(中间人)、
- Model-View-Controller(模型—视图—控制器)、
- Presentation-Abstraction-Control(表示—抽象—控制)、
- Microkernel(微核)
- Reflection(反射)
上述8种架构模式可以分为如下四种分类:
类别特征 | 包含 | 说明 |
---|---|---|
从混乱到有序 | Layers,Pipes and Filters, Blackboard | 以可控方式将整个系统面临的任务分解成相互协作的子任务 |
分布式系统 | Broker、Pipes and Filters和Microkernel | Broker给分布式应用程序提供了完备的基础设施 |
交互式系统 | Model-View-Controller、Presentation-Abstraction-Control | 有助于组织支持人机交互的软件系统 |
可适应系统 | Reflection、Microkernel | 应用程序需要扩展,以适应不断发展的技术及不断变化的功能性需求 |