UML与设计原则 最关键的软件开发工具是受过良好设计原则训 练的思维(而不是UML或其他任何技术)。 ■学习 GRAPS和基本GoF设计模式是本书的关 键目标
UML与设计原则 ◼ 最关键的软件开发工具是受过良好设计原则训 练的思维(而不是UML或其他任何技术)。 ◼ 学习GRAPS和基本GoF设计模式是本书的关 键目标
职责和职责驱动设计 考虑系统中各个对象的职责、角色和协作,以 此来驱动设计的过程,称为职责驱动的设计 职责: 类元( Classifier)的职责或义务。 职责的类型: 口行为dong) 口认知( knowing)
职责和职责驱动设计 ◼ 考虑系统中各个对象的职责、角色和协作,以 此来驱动设计的过程,称为职责驱动的设计。 ◼ 职责: 类元(Classifier)的职责或义务。 ◼ 职责的类型: ❑ 行为(doing) ❑ 认知(knowing)
职责和职责驱动设计 行为职责: 口自身执行的一些行为,如创建对象或计算 口初始化其他的对象 口控制和协调其他对象中的活动 认知职责 口对私有封装数据的认知 口对相关对象的认知 口对其能够导出或计算的事物的认知
职责和职责驱动设计 ◼ 行为职责: ❑ 自身执行的一些行为,如创建对象或计算 ❑ 初始化其他的对象 ❑ 控制和协调其他对象中的活动 ◼ 认知职责 ❑ 对私有封装数据的认知 ❑ 对相关对象的认知 ❑ 对其能够导出或计算的事物的认知
GRASP General Responsibility Assignment Software Patterns 使用职责进行OO设计的基本原则 帮助你理解基本对象设计,以一种系统的,合 理的,可以解释的方式来推导设计
GRASP ◼ General Responsibility Assignment Software Patterns ◼ 使用职责进行OO设计的基本原则 ◼ 帮助你理解基本对象设计,以一种系统的,合 理的,可以解释的方式来推导设计
职责、 GRASP和UM图之间的关系 ■交互图与分配职责密切 相关:绘制交互图的过 程就是职责分配的过程。 Sale makePayment(cash Tendered) createlcashTendered abstract, implies Sale objects have a responsibility to create Payments
职责、GRASP和UML图之间的关系 ◼ 交互图与分配职责密切 相关:绘制交互图的过 程就是职责分配的过程。 : Sale makePayment(cashTendered) : Payment create(cashTendered) abstract, implies Sale objects have a responsibility to create Payments
什么是模式( attern 在面向对象的设计中,模式是对问题和解决方案的已 命名描述 ■模式的关键元素: 口名称 a问题 a解决方案 对于特定的问题,可以应用许多原则(模式)为对象 分配职责 模式陈述的不是新的设计思想,而是将已有的,经过 验证的知识、惯用法和原则汇编起来
什么是模式(pattern) ◼ 在面向对象的设计中,模式是对问题和解决方案的已 命名描述。 ◼ 模式的关键元素: ❑ 名称 ❑ 问题 ❑ 解决方案 ◼ 对于特定的问题,可以应用许多原则(模式)为对象 分配职责 ◼ 模式陈述的不是新的设计思想,而是将已有的,经过 验证的知识、惯用法和原则汇编起来