一、架构风格的概念
**软件体系架构风格是描述某一特定应用领域中系统组织方式的惯用模式。**架构风格定义一个系统家族,即二个架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件架构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。架构设计的一个核心问题是能否达到架构级的软件复用。架构风格定义了用于描述系统的术语表和一组指导构建系统的规则。
二、基本架构风格
1、数据流风格:面向数据流,按照一定的顺序从前向后执行程序,代表的风格有批处理序列、管道过滤器。
2、调用/返回风格:构件之间存在互相调用的关系,一般是显式的调用,代表的风格有主程序/子程序、面向对象、层次结构。
3、独立构件风格:构件之间是互相独立的,不存在显式的调用关系,而是通过某个事件触发、异步的方式来执行,代表的风格有进程通信、事件驱动系统(隐式调用)。
4、虚拟机风格:自定义了一套规则供使用者使用,使用者基于这个规则来开发构件,能够跨平台适配,代表的风格有解释器、基于规则的系统。
5、仓库风格:以数据为中心,所有的操作都是围绕建立的数据中心进行的,代表的风格有数据库系统、超文本系统、黑板系统。
三、常考必记
