欢迎来到天天文库
浏览记录
ID:49411633
大小:1.33 MB
页数:19页
时间:2020-02-06
《面向对象系统分析与设计_装饰器模式.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、17七月2021NeusoftComputerScienceandTechnologyDepartmentcopyright1OOSystemAnalysis&Design【TheDecoratorPattern】17七月2021NeusoftComputerScienceandTechnologyDepartmentcopyright2Enjoycoffee…17七月2021NeusoftComputerScienceandTechnologyDepartmentcopyright3Ourjobis:TohelpStarbuzzCoffeeCafétoupdatetheiro
2、rderingsystem.17七月2021NeusoftComputerScienceandTechnologyDepartmentcopyright4ThegoalistoComputethecostofthebeverage;Givethedescriptionofthebeverage;17七月2021NeusoftComputerScienceandTechnologyDepartmentcopyright5Coffeewithlayers17七月2021NeusoftComputerScienceandTechnologyDepartmentcopyright6St
3、arbuzzCoffeeCoffeesHouseBlend$0.89DarkRoast$0.99Decaf$1.05Espresso$1.99CondimentsSteamedMilk$0.10Mocha$0.20Soy$0.15Whip$0.1017七月2021NeusoftComputerScienceandTechnologyDepartmentcopyright7Classdiagram:BaseBeverage是所有饮料的基类;cost()是抽象方法,所有子类都需要定义它们自己的cost()实现来返回特定饮料的价钱;description变量也是在子类里赋值的,表示特
4、定饮料的描述信息,getDescription()方法可以返这个描述。17七月2021NeusoftComputerScienceandTechnologyDepartmentcopyright817七月2021NeusoftComputerScienceandTechnologyDepartmentcopyright9除了咖啡以为,还提供丰富的调味品,比如:炼乳、巧克力、砂糖、牛奶等,而且这些调味品也是要单独按份收费的,所以调味品也是订单系统中重要的一部分。17七月2021NeusoftComputerScienceandTechnologyDepartmentcopyrig
5、ht10改进后的Beverage基类17七月2021NeusoftComputerScienceandTechnologyDepartmentcopyright1117七月2021NeusoftComputerScienceandTechnologyDepartmentcopyright12Classdiagram:Condiments17七月2021NeusoftComputerScienceandTechnologyDepartmentcopyright13Classdiagram:complete17七月2021NeusoftComputerScienceandTechn
6、ologyDepartmentcopyright14TheDecoratorPatternTheDecoratorPatternattachesadditionalresponsibilitiestoanobjectdynamically.Decoratorsprovideaflexiblealternativetosubclassingforextendingfunctionality.ClassdiagramforDecorator17七月2021NeusoftComputerScienceandTechnologyDepartmentcopyright15Componen
7、t(被装饰对象基类)定义对象的接口,可以给这些对象动态增加职责;ConcreteComponent(具体被装饰对象)定义具体的对象,Decorator可以给它增加额外的职责;Decorator(装饰者抽象类)维护一个指向Component实例的引用,并且定义了与Component一致的接口;ConcreteDecorator(具体装饰者)具体的装饰对象,给内部持有的具体被装饰对象增加具体的职责;17七月2021NeusoftComputerScienceandTechnologyDepart
此文档下载收益归作者所有