2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright1OOSystemAnalysis&Design【Adapter&FacadePattern】2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright2Adapteristoconvert2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright3Someclass…2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright4Childcanplaywithduck2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright5Question:HowtomakethechildcanplaywithTurkeyasDuck?2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright6MaybeweneedanAdapter…HowtodesigntheAdaptertotransformTurkeytoDuck?Adapter2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright7TheAdapterneedto…Convertstheinterfaceofaclassintoonethataclientisexpecting.Adapter2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright8Adapterclassdiagram2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright9TheAdapterPatternTheAdapterPatternconvertstheinterfaceofaclassintoanotherinterfacetheclientsexpect.Adapterletsclassesworktogetherthatcouldn’totherwisebecauseofincompatibleinterfaces.2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright10CompleteclassdiagramClientTargetrequest()InterfaceAdapterrequest()AdapteespecificRequest()2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright11Facadesimplifiescomplexactions2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright12HomeTheater2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright13Watchingamovie(thehardway)TurnontheTVTurnontheDVDPlayerSettheprojectorinputtoEVDTurnonthelightsTurnonthesoundamplifiersetthesoundtosurroundsound……2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright14Watchingamovie(thehardway)IamalreadyexhaustedandallI’vedoneisturneverythingon!ClientProjectorDvdPlayerAmplifierScreenTunerCdPlayer2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright15Donotworry!ClientScreenTheaterLightsPopcornPopperHomeTheaterFacadeTunerCdPlayerAmplifierDvdPlayerProjector2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright16TheFacadePatternTheAdapterPatternprovidesaunifiedinterfacetoasetofinterfacesinasubsystem.Façadedefinesahigher-levelinterfacethatmakesthesubsystemeasiertouse.2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright17CompleteclassdiagramClientFacade2020年1月29日星期三NeusoftComputerScienceandTechnologyDepartmentcopyright18ClassisoverCongratulation!