Garlan和Shaw对通用体系结构风格的分类:
数据流风格:批处理序列;管道/过滤器
调用/返回风格:主程序/子程序;面向对象风格;层次结构
独立构件风格:进程通讯;事件系统
虚拟机风格:解释器;基于规则的系统
仓库风格:数据库系统;超文本系统;黑板系统
每一大类风格中会包含许多子风格,这些子风格有时候也被称之为架构模式。这些风格并不是彼此孤立,互相对立的,而是相互联系的。做设计的时候往往是几种风格一起使用。
另外,这也不是唯一的分类方式,在《面向模式的体系架构》中,就把体系结构模式分成以下4类:
结构化系统:层、管道与过滤器、黑板
分布式系统:代理者
交互式系统:MVC ,PAC(presentation-abstraction-control)
适应式系统:微核、映射
每个大类下面又有若干小类,这些子分类与Garlan和Shaw的分类中的子风格有很多重合之处。
我觉得,对体系结构这种本身就比较庞大和抽象的概念来说,只需要知道大概有那么写类别就可以了,至于怎么分类,可以不去细究。毕竟,每种分类都有其道理。