Architectural styles更偏向于理论、逻辑上,关注对系统的分解
System architectures更偏向于实践,实际中
目录
一、体系结构的样式 Architectural styles
2、截取控制流 Intercept the usual flow of control
一、体系结构的样式 Architectural styles
根据组件、组件之间相互的连接方式、组件之间的数据交换以及这些元素如何集成到一个系统中来定义。
- 组件Component:一个模块单元,可以提供良好定义接口,在其环境中是可替换的。
- 链接器Connector:在组件之间传递通信、使组件相互协调和协作。
通讯对于分布式系统的架构的影响非常大,不同的通讯方式导致不同的架构,通讯的花费占据了很大的比例。
架构类型:分层、面向对象
根据组件和连接器的使用,划分成不同体系结构:
1、分层体系结构
分层架构是最常见的,大部分企业级应用都是分层的,比如OSI七层协议。分层最大的好处是能够使系统构造简单,与分层相对应的架构就是面向对象的,两者区别在于分层架构的通讯比较少,因为标准分层架构中,只有在相邻的两层之间才会发生connector,而且connector一般体现为downcall,上层调用下层(下层向上层提供服务),所以如果n层,connector只有n-1层。系统容易构建,分层逻辑清晰。但如果面向对象,n个components可能n*(n-1)个connector。比如javaEE开发的应用也是分层的。
分层架构不仅简单,而且系统灵活性更高,因为下层对上层是黑盒的,很容易一层一层替换。比如TCP/IP可以在有线或者无线网上跑。