Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2920914
  • 博文数量: 412
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 7374
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-25 15:15
个人简介

学习是一种信仰。

文章分类

全部博文(412)

文章存档

2014年(108)

2013年(250)

2010年(11)

2009年(43)

我的朋友

分类: 架构设计与优化

2013-09-13 11:02:29

应用架构指南2.0(微软模式和实践)的讨论了诸如消息总线、分层架构、SOA之类的架构风格。除了这些风格,还有很多架构模式,比如插件、点对点、发布-订阅。有些作者对架构风格、模式和隐喻进行了区分。

什么是架构风格呢?根据应用架构指南所说,架构风格指:

一组原则。你可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。架构风格能改进分块,还能为频繁出现的问题提供解决方案,以此促进设计重用。

指南的作者列出了一系列架构风格:

架构风格

描述

客户端-服务器

将系统分为两个应用,其中客户端向服务器发送服务请求。

基于组件的架构

把应用设计分解为可重用的功能、逻辑组件,这些组件的位置相互透明,只暴露明确定义的通信接口。

分层架构

把应用的关注点分割为堆栈组(层)。

消息总线

指接收、发送消息的软件系统,消息基于一组已知格式,以便系统无需知道实际接收者就能互相通信。

N/三层架构

用与分层风格差不多一样的方式将功能划分为独立的部分,每个部分是一个层,处于完全独立的计算机上。

面向对象

该架构风格是将应用或系统任务分割成单独、可重用、可自给的对象,每个对象包含数据,以及与对象相关的行为。

分离表现层

将处理用户界面的逻辑从用户界面(UI)视图和用户操作的数据中分离出来。

面向服务架构(SOA

是指那些利用契约和消息将功能暴露为服务、消费功能服务的应用。

这些架构风格分别适用于特定领域:

分类

架构风格

通信

SOA,消息总线,管道和过滤器

部署

客户端/服务器,三层架构,N层架构

领域

领域模型,网关

交互

分离表现层

结构

基于组件的架构,面向对象,分层架构

J.D. Meier从《》(由James McGovern、Scott W. Ambler、Michael E. Stevens、James Linn、Vikas Sharan、Elias K. Jo编著)一书中总结了几个要点,指出了

·         架构风格是系统主要的、组织性的设计。

·         架构模式从子系统或模块、及其之间的关系层次上描述了粗粒度的解决方案。

·         系统隐喻则更为概念化,比起软件工程概念,它更多地涉及现实世界的概念。

David Calvert在1996年给出了一份:

·         数据流系统——批处理,管道-过滤器。

·         调用-返回系统——主程序和子程序,面向对象系统,分层。

·         独立组件——通信过程,事件系统。

·         虚拟机——解释器,基于规则的系统。

·         以数据为中心的系统(仓库)——数据库,超文本系统,黑板。

其它比较现代的风格/模式还有:、、、(REST)、。在维基百科上有。

 

阅读(1416) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~