- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计模式 厉小军 浙江工商大学信息学院 * 第四章 行为型设计模式 1.责任链模式(Chain of Responsibility) 1.责任链模式(Chain of Responsibility) 1.责任链模式(Chain of Responsibility) 1.责任链模式(Chain of Responsibility) 1.责任链模式(Chain of Responsibility) 1.责任链模式(Chain of Responsibility) 1.责任链模式(Chain of Responsibility) 2.命令模式 (Command Pattern) 2.1 定义 将一个请求封装成一个对象,因此可以参数化多个客户的不同请求,将请求排队,记录请求日志,并且支持撤消操作。 2.命令模式 (Command Pattern) 2.1 定义 2.命令模式 (Command Pattern) 2.2 例子:餐馆点菜 餐馆顾客点菜,顾客只需要向服务员下订单点菜,不需要知道哪个厨师做这个菜,顾客所要做的只是订单交给服务员就可以了。发送请求的对象只需要知道如何发送请求,而不知道如何完成请求。 2.命令模式 (Command Pattern) 2.2 例子:简单计算器 把命令模式应用于一个简单计算器程序,可以产生无限个Redo(重做)和Undo(取消)操作。 2.命令模式 (Command Pattern) 2.2 例子:总开关 2.命令模式 (Command Pattern) 2.命令模式 (Command Pattern) 3.迭代模式 (Iterator Pattern) 3.1 定义 提供一种方法顺序访问一个聚合对象中的各个元素,而不用暴露这个对象的内部表示。 3.迭代模式 (Iterator Pattern) 3.2 餐厅菜单(有两份不同的菜单) 3.迭代模式 (Iterator Pattern) 3.迭代模式 (Iterator Pattern) 4.观察者模式 (Observer Pattern) 4.1 定义 对象间的一种一对多依赖关系,使得每当一个对象改变状态,则其相关依赖对象皆得到通知并被自动更新。 4.观察者模式 (Observer Pattern) 4.1 定义 4.观察者模式 (Observer Pattern) 4.2 例子:气象站 4.观察者模式 (Observer Pattern) 4.3 例子:猫和老鼠 4.观察者模式 (Observer Pattern) 4.4 例子:股票变化 4.观察者模式 (Observer Pattern) 4.观察者模式 (Observer Pattern) 5.模板方法模式 (Template Method Pattern) 5.1 定义 定认一个操作中算法的骨架(skeleton),以将一些步骤延缓到子类中实现。模板方法让子类重新定义一个算法的某些步骤而无须改变算法的结构。 5.模板方法模式 (Template Method Pattern) 5.1 定义 定义一个操作中算法的骨架(skeleton),以将一些步骤延缓到子类中实现。模板方法让子类重新定义一个算法的某些步骤而无须改变算法的结构。 5.模板方法模式 (Template Method Pattern) 5.2 例子:咖啡和茶的冲泡法 5.模板方法模式 (Template Method Pattern) 5.2 例子:咖啡和茶的冲泡法 5.模板方法模式 (Template Method Pattern) 5.2 例子:咖啡和茶的冲泡法 5.模板方法模式 (Template Method Pattern) 5.2 例子:咖啡和茶的冲泡法 5.模板方法模式 (Template Method Pattern) 5.3 例子:数据库连接模板 5.模板方法模式 (Template Method Pattern) 5.模板方法模式 (Template Method Pattern) 6.策略模式 (Strategy Pattern) 6.1 定义 定义一系列的算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。 6.策略模式 (Strategy Pattern) 6.2 例子:去机场的策略 6.策略模式 (Strategy Pattern) 6.2 例子:排序方法 6.策略模式 (Strategy Pattern) 6.策略模式 (Strategy Pattern) 咖啡冲泡法 把水煮沸 用沸水冲泡咖啡 把咖啡倒进杯子 加糖和牛奶 咖啡冲茶法 把水煮沸 用沸水浸泡茶叶 把茶倒进杯子 加柠檬 采用相同的
文档评论(0)