南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)13 设计模式 Design Patterns(3)

Design Pattern (3) 设计模式(3) Institute of Computer Software 2022-2-27 Nanjing University
设计模式(3) Design Pattern (3) 2022-2-27 Institute of Computer Software Nanjing University 1

&雪扇 摘要 UNIVE 2 Design Patterns ▣Why,What,How Creational,Structural and Behavioral Patterns Institute of Computer Software 2022-2-27 Nanjing University
摘要 Design Patterns Why, What, How Creational, Structural and Behavioral Patterns 2022-2-27 Institute of Computer Software Nanjing University 2

Behavioral Patterns 02 行为模式是对在不同的对象之间划分责任和算 法的抽象化。行为模式不仅仅是关于类和对象 的,而且关注它们之间的通信模式。 ▣类的行为模式:使用继承关系在几个类之间分配行 Interpreter,Template Method ▣对象的行为模式:使用对象的聚合来分配行为 Institute of Computer Software 2022-2-27 Nanjing University
Behavioral Patterns 行为模式是对在不同的对象之间划分责任和算 法的抽象化。行为模式不仅仅是关于类和对象 的,而且关注它们之间的通信模式。 类的行为模式:使用继承关系在几个类之间分配行 为 – Interpreter, Template Method 对象的行为模式:使用对象的聚合来分配行为 2022-2-27 Institute of Computer Software Nanjing University 3

&扇 Behavioral Patterns 102 UNIVE 4 Chain of Responsibility ▣ Command Interpreter Mediator ▣Memento Observer State Strategy Template Method Visitor Institute of Computer Software 2022-2-27 Nanjing University
Behavioral Patterns Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method Visitor 2022-2-27 Institute of Computer Software Nanjing University 4

Chain of Responsibility 1002 5 Intent 口使多个对象都有机会处理请求,从而避免请求的发送者和接 收者之间的耦合关系。将这些对象连成一条链,并沿着这条 链传递该请求,直到有一个对象处理它为止。 Motivation 应根据普遍性即从最特殊到最普遍的顺序来组织帮助信息, 比如用户界面中会有一个对象来处理帮助请求,但是哪一个 对象则取决于上下文 ▣给多个对象处理一个请求的机会,从而解耦发送者和接受者 Institute of Computer Software 2022-2-27 Nanjing University
Chain of Responsibility Intent 使多个对象都有机会处理请求,从而避免请求的发送者和接 收者之间的耦合关系。将这些对象连成一条链,并沿着这条 链传递该请求,直到有一个对象处理它为止。 Motivation 应根据普遍性即从最特殊到最普遍的顺序来组织帮助信息, 比如用户界面中会有一个对象来处理帮助请求,但是哪一个 对象则取决于上下文 给多个对象处理一个请求的机会,从而解耦发送者和接受者 2022-2-27 Institute of Computer Software Nanjing University 5

&雪扇 Example 102 UNIVE 6 aSaveDlalog handler aPrintButton anAppllcation handler handler aPrintDlalog handler anOKButton handler specific aPrintButton aPrintDialog anApplication general HandleHelp0 HandleHelp( Institute of Computer Software 2022-2-27 Nanjing University
Example 2022-2-27 Institute of Computer Software Nanjing University 6

1002 Applicability 口有多个对象可以处理一个请求,哪个对象处理 该请求则在运行时刻确定 ▣在不明确指定接收者的情况下,向多个对象中 的一个提交一个请求 口可处理一个请求的对象集合应被动态制定 Institute of Computer Software 2022-2-27 Nanjing University
Applicability 有多个对象可以处理一个请求,哪个对象处理 该请求则在运行时刻确定 在不明确指定接收者的情况下,向多个对象中 的一个提交一个请求 可处理一个请求的对象集合应被动态制定 2022-2-27 Institute of Computer Software Nanjing University 7

条 Structure 1002 UNIVER 8 successor Cllent Handler HandleRequest( ConcreteHandler1 ConcreteHandler2 HandleRequest() HandleRequest( Institute of Computer Software 2022-2-27 Nanjing University
Structure 2022-2-27 Institute of Computer Software Nanjing University 8

&扇 Participants UNIVE 9 Handler 口定义一个处理请求的接口 口(可选)实现后继链 ConcreteHandler 口处理它所负责的请求 口可访问它的后继者 口如果可处理该请求,就处理之;否则将该请求转发给它的后 继者 Client 口提交请求 Institute of Computer Software 2022-2-27 Nanjing University
Participants Handler 定义一个处理请求的接口 (可选)实现后继链 ConcreteHandler 处理它所负责的请求 可访问它的后继者 如果可处理该请求,就处理之;否则将该请求转发给它的后 继者 Client 提交请求 2022-2-27 Institute of Computer Software Nanjing University 9

&扇 Collaboration 1002 UNIVE 10 当Client提交一个请求时,请求沿链传递直至有 一个ConcreteHandler对象负责处理它 aCllent aConcreteHandler aHandler aConcreteHandler successor successor Sample Code Institute of Computer Software 2022-2-27 Nanjing University
Collaboration 当Client提交一个请求时,请求沿链传递直至有 一个ConcreteHandler对象负责处理它 2022-2-27 Institute of Computer Software Nanjing University 10 Sample Code
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)12 设计模式 Design Patterns(2).ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)11 设计模式 Design Patterns(1).ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)10 敏捷软件开发 Agile Software Development.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)09 面向对象的分析与设计简介 OOA & OOD:An introduction.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)08 对象序列化和持久化 Serialization and Persistence.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)07 Java并发编程 Concurrent Programming in Java.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)06 并发对象 Concurrent Objects.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)05 异常处理 Exception Handling.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)04 契约式设计 Design by Contract.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)03 类和对象 Class and Object.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)02 抽象数据类型 Abstract Data Types.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)01 Introduction(主讲:余萍).ppt
- 西安石油大学计算机学院:《信息系统分析与设计 Information System Analysis and Design》课程教学资源(PPT课件)第16讲 信息系统应用.ppt
- 西安石油大学计算机学院:《信息系统分析与设计 Information System Analysis and Design》课程教学资源(PPT课件)第15讲 信息系统管理.ppt
- 西安石油大学计算机学院:《信息系统分析与设计 Information System Analysis and Design》课程教学资源(PPT课件)第14讲 实现与测试.ppt
- 西安石油大学计算机学院:《信息系统分析与设计 Information System Analysis and Design》课程教学资源(PPT课件)第13讲 系统设计实践(小区物业管理系统).ppt
- 西安石油大学计算机学院:《信息系统分析与设计 Information System Analysis and Design》课程教学资源(PPT课件)第12讲 详细设计(下)界面设计.ppt
- 西安石油大学计算机学院:《信息系统分析与设计 Information System Analysis and Design》课程教学资源(PPT课件)第11讲 详细设计(中)数据库设计.ppt
- 西安石油大学计算机学院:《信息系统分析与设计 Information System Analysis and Design》课程教学资源(PPT课件)第10讲 详细设计(上).ppt
- 西安石油大学计算机学院:《信息系统分析与设计 Information System Analysis and Design》课程教学资源(PPT课件)第09讲 体系结构设计.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)14 模式和框架 Pattern and Framework.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)15 面向方面的编程 Aspect Oriented Programming(AOP).ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)16 构件化软件 Component Software.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)17 分布对象 Distributed Objects(1).ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)18 分布对象 Distributed Objects(2).ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)19 复习和总结 Object-Oriented Technology:Review and Conclusion Remarks.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)实习项目概述.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(实习指南)医院预约挂号系统.docx
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)OOT实习指南.pptx
- 南京大学:《面向对象技术 OOT》课程教学资源(教材电子版)33 O-O programming and Ada.pdf
- 南京大学:《面向对象技术 OOT》课程教学资源(教材电子版)06 Abstract data types.pdf
- 南京大学:《面向对象技术 OOT》课程教学资源(教材电子版)27 Object-oriented analysis.pdf
- 南京大学:《面向对象技术 OOT》课程教学资源(教材电子版)E Bibliography.pdf
- 南京大学:《面向对象技术 OOT》课程教学资源(教材电子版)07 The static structure:classes.pdf
- 南京大学:《面向对象技术 OOT》课程教学资源(教材电子版)30 Concurrency, distribution, client-server and the Internet.pdf
- 南京大学:《面向对象技术 OOT》课程教学资源(教材电子版)11 Design by Contract:building reliable software.pdf
- 南京大学:《面向对象技术 OOT》课程教学资源(教材电子版)02 Criteria of object orientation.pdf
- 南京大学:《面向对象技术 OOT》课程教学资源(教材电子版)34 Emulating object technology in non-O-O environments.pdf
- 南京大学:《面向对象技术 OOT》课程教学资源(教材电子版)36 An object-oriented environment.pdf
- 南京大学:《面向对象技术 OOT》课程教学资源(教材电子版)Epilogue, In Full Frankness Exposing the Language.pdf