欢迎来到天天文库
浏览记录
ID:48150486
大小:423.50 KB
页数:35页
时间:2020-01-16
《适配器模式(Adapter).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、UML与设计模式第二章UML-类图DesignPatternsIntroduction结构型模式Adapter模式代理模式2012年3月1UML与设计模式WhatisaDesignPattern?InShort,asolutionforatypicalproblemAdescriptionofarecurrentproblemandofthecoreofpossiblesolutions.2012年3月2UML与设计模式WhydoweneedPatterns?ReusingdesignknowledgeProblemsarenotalways
2、unique.Reusingexistingexperiencemightbeuseful.Patternsgiveushintsto“wheretolookforproblems”.EstablishcommonterminologyEasiertosay,"WeneedaFaçadehere“.ProvideahigherlevelprospectiveFreesusfromdealingwiththedetailstooearlyInshort,it’sa“reference”2012年3月3UML与设计模式HistoryofDesig
3、nPatternsChristopherAlexanderTheTimelessWayofBuildingAPatternLanguage:Towns,Buildings,Construction1970’1995’2007’ArchitectureObjectOrientedSoftwareDesignOtherAreas:HCI,OrganizationalBehavior,Education,ConcurrentProgramming…GangofFour(GoF)DesignPatterns:ElementsofReusabl
4、eObject-OrientedSoftwareManyAuthors2012年3月4UML与设计模式TypesofDesignPatternsCreationalDealwiththebestwaytocreateobjectsStructuralWaystobringtogethergroupsofobjectsBehavioralWaysforobjectstocommunicate&interact2012年3月5UML与设计模式GangofFour(GoF)patternsCreationalPatterns(concernedw
5、ithabstractingtheobject-instantiationprocess)FactoryMethodAbstractFactorySingletonBuilderPrototypeStructuralPatterns(concernedwithhowobjects/classescanbecombinedtoformlargerstructures)AdapterBridgeCompositeDecoratorFacadeFlyweightProxyBehavioralPatterns(concernedwithcommu
6、nicationbetweenobjects)CommandInterpreterIteratorMediatorObserverStateStrategyChainofResponsibilityVisitorTemplateMethodmemento2012年3月6UML与设计模式GoF结构型模式关注类/对象之间的结构主要的结构型模式:外观为子系统提供一个入口点代理为对象提供一个代理来控制对该对象的访问适配器利用现有类所提供的服务,实现用户所需要的接口2012年3月7UML与设计模式复合可以用统一的接口处理有层次结构的对象装饰可以动态组织
7、对象的行为其它模式:桥接将抽象与抽象操作的实现分离开,使抽象与实现可以独立变化共享元通过共享为大量的细粒度对象提供有效的支持2012年3月8UML与设计模式适配器(Adapter)设计模式如果你有一个存在的系统需要插入一个新的类库,但是新的类库并不能匹配你写的系统,如下图:2012年3月9UML与设计模式适配器模式现在你不想更改存在的旧系统,新的类库也不能修改,这时候我们就需要写一个适配器了,用这个适配器来适配新类库的接口。如下图:2012年3月10UML与设计模式适配器模式用了适配器之后的整个系统,如下图:2012年3月11UML与设计模式
8、IncompatibilityproblemsWemayhaveanapplicationthatneedstouselibraries/adifferentapp
此文档下载收益归作者所有