软件架构风格概述: 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件体系结构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为“客户/服务器”模式,则不必给出设计细节,我们立刻会明白系统是如何组织和工作的。 Garlan和Shaw将通用软件体系结构风格总结为以下几类: 软件架构风格 1.数据流风格: 批处理序列, 管道/过滤器,linux命令行。 2.调用/返回风格: 主程序/子程序; 面向对象风格; 3.独立构件风格: 进程通讯; 事件系统:隐式调用,广播机制,例如编译器的插件工具 4.虚拟机风格: 解释器, 比如java虚拟机。 基于规则的系统, 5.仓库风格(数据为中心的系统): 数据库系统; 超文本系统; 黑板系统:常用的有人工智能,信号处理,电子商务等依靠数据库的专家系统 6.事件驱动风格:常用于用户界面设计 7.层次化设计风格:操作系统,网络的七层结构 8.分布式处理 客户机/服务器风格 拓扑结构:典型的是网络的拓扑结构 9.控制系统风格:单片机中,软件与硬件的相互影响,循环交替操作,中断等