第5章架构模式.PDF
第 5 章 架 构 模 式
设计模式提供了用于解决具体的问题模式 ,而架构模式是粗线条的模式,它
的作用不是用于解决局部问题,而是要影响一个系统的基本结构。
本章介绍的架构模式都是作者在实践中经常使用的。根据[Bus98]可以把架构模式分为
下面几种类型:
系统的结构:分层架构模式、管道和过滤器架构模式。
自适应系统:插件架构模式。
分布式系统:中介模式、面向服务的架构模式。
交互式系统:模型-视图-控制器模式。
下面简要介绍这些模式。
(1)分层架构模式 (见5.1 节)把一个系统的架构划分为不同的层次,每一层可以调
用下一层的服务(一个系统的水平分层)。这个模式要求运行的流程是:客户端把系统的最
上层作为服务器进行调用,最上层又作为客户,把下一层视为服务器进行调用,系统以这
种方式一直调用到最后一层。
(2 )管道和过滤器架构模式 (见5.2 节)把一个应用的基本形式构造成按时间顺序加
工处理的链状结构,它们之间通过输出和输入相互耦合:一个进程的输出是下一个进程的
输入(面向数据流的系统架构 )。这个架构是把一个系统划分成由进程组成的链状结构,每
个进程都接收前一个进程产生的结果,然后再进一步加工。因此,管道用于解决两个相邻
进程的异步解耦。
(3 )插件架构模式 (见5.3 节)对于特定的应用,把可扩展的部分构造成接口形式,
这样就可以通过使用插件实现这些接口,由插件管理者(利用运行时的环境)负责实例化
和加载。应用在没有扩展的情况下也可以正常运行。通过使用插件架构模式,没有扩展的
基本应用可以具有广泛的用户,而扩展后的应用针对某些用户群体。
(4 )中介模式 (见5.4 节)构造的系统是由多个客户端和服务器组成的一个架构,中
介作为中间者实例对客户提出的需求根据其所需的服务找到相应的服务器,并把服务器的
应答送至客户端。客户组件和服务器组件通过中介进行交流。在分布式系统中,中介作为
中间件分布在系统中的所有节点计算机中。
(5 )面向服务架构1的设计模式(见 5.5 节)把系统的架构划分为组件或子组件,它们
与系统设计阶段的应用实例或部分应用实例相对应,通过提供服务反映自身的功能,因此
业务流程的改变只有以下影响:
作为应用实例所代表的相应组件必须被修改。
在使用现有基本服务的基础上生成新的组件。
1 面向服务架构缩写为 SOA。
第 5 章 架构模式 217
1
模型-视图-控制器模式(MVC ) (见5.6 节)把应用分解成模型组件(加工处理/数据
管理)、视图(输入)和控制器(输出)。因此模型不依赖于输入和输出。使用这个策略易
于更换系统中的视图和控制器(图形界面组件与加工处理相分离),因此应用的核心部分比
输入和输出程序有更长的使用期。
一个架构模式可以含有不同的设计模式。在一个架构模式中,设计模式间是否需要通
信,或者多少模式间需要通信,根据情况有所不同。模型-视图-控制器模式通常含有观察
者模式、策略模式和组合模式。分层架构模式则相反,不使用任何设计模式。
第 4 章介绍的设计模式都是面向对象设计模式,模式也可以具有非面向对象的特征。
例如,分层架构模式和插件模式都没有使用面向对象的技术。
5.1 分层架构模式
分层架构模式在建模过程中把一个系统的结构进行分层,各层之间的关系是客户/服
务器。
5.1.1 名称/其他可用的名称
层次模型、分层。
5.1.2 问题
一个软件系统可以水平分割成合理的多个子系统层。系统中相关联的部分被集中放在
一个独立的层 内。每一层都要对其所包含的功能进行抽象定义 。上层功能的实现需要调用
下层的功能并得到回复。相邻的任何两层都符合客户与服务器的关系。当服务器层调用更
深一层时,它就被视为客户层。
这种方式可以 限制相互依赖关系的数量 。更易于开发系统的每一个功能,更改代码也
只会产生有 限的影响。
5.1.3 解决方法
如果一个系统高度复杂,可以在软件架构设计
您可能关注的文档
最近下载
- (整理版)特殊四边形的综合应用.pdf
- 人教版(2024)八年级物理下册教案 9.4 跨学科实践:制作简易活塞式抽水机.docx VIP
- 建筑消能减震技术规程.docx VIP
- 2026年云南省职教高考第三次联合模拟考试《数学》试卷及答案解析.pdf VIP
- 2025年铜陵专升本电路真题答案.docx VIP
- 星原教育计划书.pptx
- 【新教材】2026春季统编版三年级下册语文全册教案.docx
- 党支部书记2025年度组织生活会个人对照检查发言材料(五个方面).docx VIP
- 2023注册消防工程师(消防技术综合能力)题库(易错题)word版.docx
- 9.4 跨学科实践:制作简易活塞式抽水机(教案)2024-2025学年度-人教版物理八年级下册.docx VIP
原创力文档

文档评论(0)