复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_3.4 Iteration 1 设计模型 GRASP——设计带职责的对象

GRASPE设计带职责的对象 徐迎晓 xuyingxiao(@126.com 复旦大学软件学院
GRASP:设计带职责的对象 徐迎晓 xuyingxiao@126.com 复旦大学软件学院

设计带职责的对象 交互设计和职责分配的质量决定系统的 质量 ●可维护性 可理解性 可重用性 ●可扩展性 ●好的面向对象设计原则可用于交互图设 计和职责分配 GRASP模式
设计带职责的对象 交互设计和职责分配的质量决定系统的 质量 ⚫ 可维护性 ⚫ 可理解性 ⚫ 可重用性 ⚫ 可扩展性 好的面向对象设计原则可用于交互图设 计和职责分配—GRASP模式

GRASP:通用职责分配软件模式 o General Responsibility Assignment Software Patterns ●将职责分配给对象的基本原则
GRASP:通用职责分配软件模式 ⚫ General Responsibility Assignment Software Patterns 将职责分配给对象的基本原则

GRASP设计带职责的对象 ●五个 GRASP模式 应用 GRASP实现 Process sale用例 可见性设计 类图设计
GRASP:设计带职责的对象 五个GRASP模式 应用GRASP实现Process Sale用例 可见性设计 类图设计

五个 GRASP模式 LoW Coupling High cohesion ●. Controller Creator Information Expert
五个GRASP模式 . Low Coupling . High Cohesion . Controller . Creator . Information Expert

模式: Low Coupling ● Problem:如何降低依赖、减少改变的影 响,增加重用性? d Solution:分配职责时使耦合低
模式: Low Coupling Problem:如何降低依赖、减少改变的影 响,增加重用性? Solution:分配职责时使耦合低

原理: 耦合表明两个类之间连接的强度,一个类是 否依靠其他类 ●A具有低耦合,则A不依赖很多其他的类 ●高耦合带来的问题 ●其他类改变则可能自己也必须改变 单独(无其他类时)难以理解 ●由于需要很多其他类,难以重用
原理: ⚫ 耦合表明两个类之间连接的强度,一个类是 否依靠其他类 ⚫ A具有低耦合,则A不依赖很多其他的类 高耦合带来的问题 ⚫ 其他类改变则可能自己也必须改变 ⚫ 单独(无其他类时)难以理解 ⚫ 由于需要很多其他类,难以重用

明同③8工具 简明汉英词典 耦 高级汉语词典 形声。从耒禺或声。耒山d)翻土工具。本义二人并肩耕地) 同本义[ (plough side by side 耦耒厂五寸为伐,二伐为耦 十千维耦 《诗颂噫嘻》 醬如农夫作耦。 禹见耕者耦立而式。一—《荀子·大略》 语微子》 如耦耕两人并力一起耕和 代犁田的一种方式耦犁(—种耕作法)。引申为二人一组。如耦俱无淸双方部无淸疑)耦居喟两人同处耦俱〔相处融 匹敌相对[ match。如耦国对等之国;耦象指箭耙)耦语(相对私语) 遇蓬[ meet with 燕成双鸾对影耦新知。一—宋孙光宪《酒泉子》 5)合符合[ coordinate]。如耦世应世俗) 词性变化 ou 配偶[ spouse]l如:自择良耦;正为嘉耦 偶像[ image;idol如木耦土耦。耦人(木等制成的人俑) 同“偶”。双数成对[even 阳卦奇阴卦耦 《易系辞下》 又如耦语两个相对私语。同偶语)耦俱无淸两者均无疑恨〕耦立对偶)耦丽耦俪¢耦的文辞) 躯体[body] 南郭子綦隐机而坐仰天而嘘嗒焉似丧其耦。一一《庄子》 oude 〈量 词模式:鼠标取词

举例 We have a need to create a Payment instance and associate /it with the sale Payment Register Sale ●谁来创建 Payment实例
举例 we have a need to create a Payment instance and associate it with the Sale. 谁来创建Payment 实例?

makePaymento 1: create( Rea p:Pavment
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_3.4 Head 2 On to Object Design.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_3.4 Head 1 Logical Architecture and UML Package Diagrams.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_3.3 Iteration 1 用例模型——操作合约添加细节.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_3.2 Iteration 1 用例模型——SSD.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_3.1 Iteration 1 领域模型——概念的可视化.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_2 Inception 用例模型和其他需求.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_1.4 案例分析.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_1.3 迭代式开发和UP.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_1.2 UML概念、历史简介.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_1.1 面向对象分析与设计.ppt
- 复旦大学:《面向对象分析和设计》课程资料_开源项目研讨报告_Struts 2期终报告.pdf
- 复旦大学:《面向对象分析和设计》课程资料_开源项目研讨报告_Spring开源项目介绍.pdf
- 复旦大学:《面向对象分析和设计》课程资料_开源项目研讨报告_PetStore.pdf
- 复旦大学:《面向对象分析和设计》课程资料_开源项目研讨报告_OOAD JUnit 研究总结.pdf
- 复旦大学:《面向对象分析和设计》课程资料_开源项目研讨报告_Lucene项目分析报告.pdf
- 复旦大学:《面向对象分析和设计》课程资料_开源项目研讨报告_JIVE.pdf
- 复旦大学:《面向对象分析和设计》课程资料_开源项目研讨报告_jBPM OOAD_Final_Report.doc
- 复旦大学:《面向对象分析和设计》课程资料_开源项目研讨报告_IBatis.doc
- 复旦大学:《面向对象分析和设计》课程资料_开源项目研讨报告_Hibernate.pdf
- 复旦大学:《面向对象分析和设计》课程资料_OOAD小组项目学习报告.doc
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_3.5 Iteration 1 实现模型.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_4.1 Iteration 2 GRASP:MORE PATTERNS.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_4.2 Iteration 2 用GoF设计用例实现 DESIGNING USE-CASE REALIZATIONS WITH GoF DESIGN PATTERNS.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_5.1 Iteration 3 用例加关系.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_5.2 Iteration 3 领域模型 MODELING GENERALIZATION & REFINING THE DOMAIN MODEL.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_5.3 Iteration 3 SSD和合约 ADDING NEW SSDs AND CONTRACTS.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_5.4 Iteration 3 状态图 MODELING BEHAVIOR IN STATECHART DIAGRAMS.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_5.5 Iteration 3 持久化框架 DESIGNING A PERSISTENCE FRAMEWORK WITH PATTERNS.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML&GRASP_UMLProfile.pdf
- 复旦大学:《面向对象分析和设计》课程资料_分析模式_观察和测量模式.pptx
- 复旦大学:《面向对象分析和设计》课程资料_分析模式_责任模式 Accountability.pdf
- 复旦大学:《面向对象分析和设计》课程资料_AntiPattern_1.JSP J2EE Refactoring Patterns/AntiPatterns.pdf
- 复旦大学:《面向对象分析和设计》课程资料_AntiPattern_2.Servlet.pdf
- 复旦大学:《面向对象分析和设计》课程资料_Error Handling.pdf
- 复旦大学:《面向对象分析和设计》课程资料_Exception handling refactorings.pdf
- 复旦大学:《面向对象分析和设计》课程资料_课程注册系统_1-5 最佳实践、需求、分析设计、架构分析、用例分析.pdf
- 复旦大学:《面向对象分析和设计》课程资料_课程注册系统_6-8 Identify Design Elements、RunTime Architecture、Describe Distribution.pdf
- 复旦大学:《面向对象分析和设计》课程资料_课程注册系统_9-11 UC Design、Subsystem Design、Class Design.pdf
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 1 - 面向对象分析和设计.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 2 - 迭代、进化和敏捷.ppt