参考《信息系统项目管理师教材(第3版)》P45,软件架构风格,Garlan和Shaw对通用软件架构风格进行了分类,他们将软件架构分为数据流风格、调用/返回风格、独立构件风格、虚拟机风格和仓库风格。
(1) 数据流风格:包括批处理序列架构风格(Batch Sequential)和管理/过滤器架构风格(Pipes/Filters)。
(2) 调用/返回风格:包括主程序/子程序架构风格(Main Program and Subroutine)、数据抽象和面向对象架构风格(DataAbstraction and Object-Oriented)及层次结构架构风格(Hierarchical Layers).
(3) 独立构件风格:包括进程通信架构风格(Communicating Processes)和事件驱动架构风格(EventSystems)。
(4) 虚拟机风格:包括解释器架构风格(Interpreters)和基于规则的系统(Rule-based Systems)架构风格。
(5) 仓库风格:包括数据库架构风格(Database)和黑板架构风格(BlackBoards)
其他:特定领域软件体系结构(Domain-specfic Software Architecture)、状态转移(StateTransition System)、分布式处理(Distributed Process)架构风格和REST(Representational StateTransfer)混合架构风格等。其中分布式架构风格中有客户机/服务器(C/S)架构风格、浏览器/服务器(B/S)架构风格、CORBA、DCOM和EJB架构风格等。