UML设计模式 7 设计模式(1)--Facade,Adapter模式.ppt

UML设计模式 7 设计模式(1)--Facade,Adapter模式.ppt

ID:49499635

大小:1.80 MB

页数:26页

时间:2020-02-06

UML设计模式 7 设计模式(1)--Facade,Adapter模式.ppt_第1页
UML设计模式 7 设计模式(1)--Facade,Adapter模式.ppt_第2页
UML设计模式 7 设计模式(1)--Facade,Adapter模式.ppt_第3页
UML设计模式 7 设计模式(1)--Facade,Adapter模式.ppt_第4页
UML设计模式 7 设计模式(1)--Facade,Adapter模式.ppt_第5页
资源描述:

《UML设计模式 7 设计模式(1)--Facade,Adapter模式.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、7设计模式(1) Facade,Adapter模式权巍主要内容7.1设计模式概述7.2设计模式的分类7.3Facade(外观)模式7.4Adapter(适配器)模式2UML和设计模式7.1设计模式概述UML和设计模式3模式最初起源于建筑学领域在面向对象的软件开发中首次使用模式化方法的著作四位作者被称为:Gang-of-Four书中介绍了23中基本的设计模式(GOF23种设计模式)7.1设计模式概述UML和设计模式4什么是设计模式?广义上讲,是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述;狭义的讲,是对

2、特定问题的描述或解决方案。设计模式的基本要素:名称、问题、解决方案、模式效果。7.2设计模式的分类按照模式的目的划分:创建型设计模式:描述如何创建对象,包括:抽象工厂、建造、原型、单例等模式。结构型设计模式:描述类和对象间怎样组织,如适配器、桥接、组合、装饰、外观、享元、代理等模式。行为型设计模式:描述算法及对象间的任务分配等,如职责链、命令、迭代器、中介者、备忘录、观察者、状态、策略、访问者等模式。UML和设计模式57.3Facade(外观)模式UML和设计模式6例如:对于复杂的系统,通常采用分解为若干子系统的方式来

3、实现医院的例子UML和设计模式77.3.1什么是Facade模式为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。UML和设计模式8外观模式中的角色Façade知道哪些子系统的类能完成用户请求的功能。可被客户调用。将客户的请求委派给适当的子系统对象来完成。Subsystem每个子系统都是多个类的集合。可被客户或Façade调用。处理由Facade对象或客户对象指派的任务。不知道Facade对象或客户对象的存在。UML和设计模式97.3.2外观模式的例子保安系

4、统的例子:该保安系统由两个录像机、三个电灯、一个遥感器、一个报警器组成。系统操作人员经常需要将这些仪器启动和关闭。比较不使用Façade模式的设计、使用Façade模式的设计的不同UML和设计模式10UML和设计模式11UML和设计模式12保安系统例子的代码示例不使用Façade模式实现的代码示例使用Façade模式实现的代码示例UML和设计模式137.4Adapter(适配器)模式UML和设计模式14适配的概念无处不在。适配,即在不改变原有实现的基础上,将原先不兼容的接口转换为兼容的接口。适配器模式的应用场景在软件系

5、统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新的环境要求的接口是这些现存对象所不满足的。如何应对这种情况,使得既能够利用现有对象的良好的实现,同时又能满足新的应用环境所要求的接口?UML和设计模式15例:假设客户需求描述:为都有“显示”(display)行为的点、线、正方形分别创建类。客户对象不必知道自己到底使用的是点、线还是正方形,它们只需知道拥有这些形状中的一个。UML和设计模式167.4.1什么是适配器模式适配器模式是一种结构型模式它可将某个类的接口转换成客户希望的另外一个接口。

6、使得原本由于接口不兼容而不能工作的类可以一起工作。适配器模式分为两种:类适配器:使用继承实现对象适配器:对象组合实现UML和设计模式17适配器模式中的角色目标(Target):即所期待得到的接口(不可是类)被适配者(Adaptee):现有的接口,需要适配,否则无法使用。适配者(Adapter):将源接口转换为目标接口;是具体的类,是本模式的核心。UML和设计模式187.4.2对象适配器模式UML和设计模式19UML和设计模式20对象适配器模式的一个简单的例子有一个类(adaptee)中的一个方法实现了数学中的幂次运算,

7、方法中需要传入两个参数,一个是基数,另外一个是幂次,java代码如下:publicclassAdaptee{publiclonggetPower(longbase,longexp){longresult=1;for(inti=0;i

8、aceTarget{publiclongget2Power(longexp);}publicclassAdapterimplementsTarget{privateAdapteept;publicAdapter(){//构造函数中实例化一个Adaptee对象pt=newAdaptee();}publiclongget2Power(

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

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

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