facade模式与adapter模式的区别及联系

facade模式与adapter模式的区别及联系

ID:8809104

大小:334.50 KB

页数:3页

时间:2018-04-08

facade模式与adapter模式的区别及联系_第1页
facade模式与adapter模式的区别及联系_第2页
facade模式与adapter模式的区别及联系_第3页
资源描述:

《facade模式与adapter模式的区别及联系》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、科技信息计算机与网络Facade模式与Adapter模式的区别及联系苏州大学计算机科学与技术学院沙洲职业工学院电子信息工程系王浩刘红梅[摘要]软件危机的加剧一直困扰着软件产业的发展,而面向对象技术对缓解软件危机起到了一定的积极作用,提高了软件的开发效率并增加了软件的可复用性,但随着软件工程项目规模的不断膨胀,需要在设计层面上来寻找一种能够应对软件需求变化的方法——软件设计模式。本文针对软件工程中常用的两种设计模式:Facade模式和Adapter模式,根据软件设计模式思想,阐述了两种模式的基本原理、区别和联系,进而阐述使用这两种模式高效地创建出灵活、可复用的软件设计的思路与方法。[关键词]F

2、acade模式Adapter模式设计模式面向对象软件工程0.引言现在软件技术是当今信息技术的重要组成部分,但软件危机也一直伴随着软件技术的发展而不断加剧,困扰着软件设计工程师们。怎样设计出高效、高质量、可复用的软件产品成为软件从业者追求的目标。面向对象技术的产生从一定程度上缓解了软件危机所带来的影响,类的引入使工程更加容易分割、控制和度量,在很长的一段时间内,使用面向对象方法似乎可以解决软件危机带来的所有问题。但是,随着软件产业的分工明细化,软件规模的不断扩大,软件开发商不希望旧有的开发成果被完全放弃,而是希望将一些可用的部件移植到新的软件项目中(重新开发该部件需要重新投入人力、物力和资金),

3、而且,当前的项目中的一些部件,很可能就是今后项目中的一些可复用部分。这就要求软件项目在设计阶段就考虑到复用性,这就要求软件的设计必须更加接近“语义”,对软件设计过程进行更高一级抽象,得到“在某一背景下某类软件设计问题的统一的解决方案”,这就形成了某种“设计模式”。在设计模式应用过程中,有两种比较常用的模式Facade模式Facade模式的基本意图在于:简化原有系统的使用方式,或者定义一个通用的标准接口。Facade模式的结构图如图1。3.Adapter模式内容和应用随着信息技术的迅速发展,对软件项目开发的周期也要求越来越短。开发项目的过程中并不是所有的软件项目都是从零开始,现在软件产业对软件

4、项目复用的要求越来越高,在面向对象软件工程中,已有的、功能与目标相似的类常常被复用,为了使它能够应用于新的工程中,就必须使它的接口与新工程完全匹配。处理这样的问题有这样的几种方法:一种方法是修改原有的类,使他满足新工程的要求,但这要求设计和开发人员必须深入到原有类的内部,修改实现结构,这增加了工作强度和工作难度;另外一种方法是使用面向对象的继承方法,但是可能目标类必须派生于某一个基类,如何解决这样的问题,Adapter模式给出较好的解决方法。Adapter模式的根本目的在于调节原类和目的类之间的接口差异,从而实现工程复用。Adapter模式的结构图如图2,具体UML图形请参阅《UML及建模》。

5、和Adapter模式,这两种模式常常被初学者所混淆,模式的误用往往会将软件设计变得复杂而低效;能否正确地区分并理用户解这两种模式,成了这两种模式应用过程中的关键问题。1.设计模式简介目标类+方法A()Adapter类+方法A()原有类+方法TA()模式是在某一背景下某个问题的一种解决方案。它们绝不只是解决某人个别问题的模板。它们是描述动机的一种方式,不仅包括我们要得到的效果,也包括困扰我们的问题。设计模式是面向对象技术的最新进展之一。设计模式源于建筑学和人类学,后来从事软件设计的科学家借鉴其思想,应用于软件设计中,特别是复用软件的设计,得到了很好的效果。设计模式按照其目的可以分成三类:创

6、建型(Creational)、结构型(Structural)和行为型(Behavioral)。创建型模式于对象的创建有关;结构型模式处理类或对象的组合;行为型模式对类或对象怎样交互及怎样分配职责进行描述。Facade模式和Adapter模式都是属于结构型模式。2.Facade模式内容和应用在软件项目中,常常遇到这样的情况,新的项目可以利用原有项目中的子系统中的部分功能来完成特定任务,但是原有的项目子系统并不是为现有项目而设计的,所以很多的功能是现有系统所不需要的,而且可能实现新系统功能的时候需要使用原有系统中的各个不同层次的功能,使设计和开发人员完全清楚旧有系统并将新系统所需功能划分出来需要较

7、多的工作成本,如果需要在新项目的设计过程中解决这个问题,可以使用Facade模式。旧有系统Facade接口图1Facade模式原理结构图将原有类的接口“适配”为目标类接口:在方法A中,以适当的方法调用方法TA。图2Adapter模式原理结构图4.Facade模式与Adapter模式的区别与比较通过以上对两种模式的了解,可以看出两个模式的共同点:它们都是对已经存在的类或系统进行设计(工程复用)。而

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。