书籍详情
C++面向对象开发
作者:(美)Richard C. Lee,(美)William M. Tepfenhart著;麻志毅,蒋严冰译;麻志毅译
出版社:机械工业出版社
出版时间:2002-09-01
ISBN:9787111105787
定价:¥45.00
购买这本书可以去
内容简介
面向对象技术是20世纪90年代对软件的最大发展,它不但改变了建构软件的方式,也改变了设计的方式,而C++则实现了面向对象的主要机制。因此,本书将面向对象技术与C++相结合,并使用UML这一可视化描述的建模语言进行表述。本书的目标是:通过应用面向对象技术和方法的基本原理来指导读者在使用C++开发软件和编程时适当考虑使用合适的面向对象的概念和良好的设计原则。本书还附有两个完整的实践案例,在案例中,使用特定的面向对象技术,并应用面向对象的基本概念就一个项目的面向对象分析、设计和编程的各个阶段展开讨论,详细阐述了如何使用C++根据设计的模型进行编程,同时使读者深入地掌握和理解面向对象技术的应用。
作者简介
Richard C.Lee有35年的软件项目开发和管理经验。在电子出版、嵌入式系统、大型IMS项目、多媒体、运行支持系统、过程控制、事务处理和模型转换技术等领域,从事前沿的开发和管理工作。William M.Tepfenhart现在是蒙茅斯大学软件工程系的副教授。在制造业、军事和电信领域,作为程序员、开发人员和技术专家,有着18年的开发经验。在其中的17年,他使用面向对象技术开发系统。他参加了对R++(一种在C++中加入了规则的编程语言)编译器的开发工作。麻志毅,男,北京大学计算机科学技术系副教授。现已发表学术论文40余篇,主持或参加政府科研项目十余项。主要研究领域为软件工程、面向对象技术和计算语言学。蒋严冰,男,2000年考入北京大学计算机科学技术系攻读博士学位。主要研究方向为面向对象技术、软件工程环境和软件构件技术。
目录
译者序
第2版序言
第1版序言
第1章 信息管理的困境
1.1 问题的提出
1.2 什么是客户想要的
1.3 为什么面向对象对开发者是重要的
1.4 小结
第2章 管理复杂性:分析和设计
2.1 抽象机制
2.1.1 函数
2.1.2 模块
2.1.3 抽象数据类型
2.2 类/对象
2.2.1 消息传递
2.2.2 泛化/特化和多态
2.3 其他的关系
2.3.1 关联
2.3.2 聚合
2.4 行为
2.4.1 静态行为
2.4.2 动态行为
2.5 规则
2.6 复杂系统
2.7 小结
第3章 面向对象的编程
3.1 什么是面向对象的编程
3.1.1 不是银弹
3.1.2 一种高级的范围
3.2 基本的面向对象编程概念
3.3 面向对象编程语言
3.3.1 基于对象的编程
3.3.2 基于类的编程
3.3.3 面向对象的编程
3.3.4 高级面向对象的编程
3.3.5 前沿面向对象的编程
3.4 为什么选C++
3.5 组织现实的方式
3.6 计算的模拟模型
3.7 组织现实的面向对象方式
3.8 小结
第4章 限定问题域
4.1 用况介绍
4.1.1 系统
4.1.2 参与者
4.1.3 用况
4.1.4 用况包
4.2 建立用况文档
4.2.1 用况图
4.2.2 顺序图:建立细节文档
4.2.3 文本描述
4.3 开发用况的准则
4.3.1 避免分析瘫痪
4.3.2 识别参与者
4.3.3 识别高层用况和本质用况
4.3.4 建立用况包
4.3.5 开发用况细节
4.3.6 识别支持用况
4.3.7 开发边界用况
4.4 契约
4.5 推荐的方法
4.6 小结
第5章 寻找对象
5.1 面向对象的分析:应用域的模型
5.2 构造面向对象模型
5.3 识别对象
5.4 目前的技术
5.4.1 使用将被建模的事物
5.4.2 使用对象和类的定义
5.4.3 使用对象分解
5.4.4 使用概括
5.4.5 使用子类
5.4.6 使用面向对象的领域分析
5.4.7 利用应用框架
5.4.8 复用类层次
5.4.9 复用个体对象和类
5.4.10 使用子部件
5.4.11 使用个人经验
5.5 传统的技术
5.5.1 使用名词
5.5.2 使用传统的数据流图
5.5.3 使用类-责任-协作(CRC)卡片
5.6 推荐的方法
5.7 小结
第6章 识别责任
6.1 什么是对象
6.2 什么是属性
6.2.1 描述性属性
6.2.2 命名属性
6.3 什么是服务
6.4 什么是方法
6.5 识别属性
6.6 描述属性
6.7 识别服务
6.8 描述服务
6.9 推荐的方法
6.10 小结
第7章 描述静态行为
7.1 什么是行为
7.2 描述静态行为的技术
7.3 描述控制的技术
7.4 建立控制文档的技术
7.4.1 活动图
7.4.2 协作图
7.4.3 顺序图
7.5 建立静态行为文档的技术
7.5.1 前置条件和后置条件
7.5.2 流程图
7.5.3 数据流图
7.5.4 结构化英语
7.6 推荐的方法
7.7 小结
第8章 动态行为
8.1 介绍
8.2 识别动态行为的技术
8.2.1 一般的生存周期形式
8.2.2 捕获生存周期的模型
8.3 识别事件和描述事件
8.3.1 用况和场景
8.3.2 顺序图
8.3.3 例子
8.4 描述动态行为
8.4.1 事件列表
8.4.2 状态转换表
8.5 建立动态行为的文档
8.6 推荐的方法
8.7 小结
第9章 识别关系
9.1 访问另一个对象的服务
9.2 关系
9.3 泛化
9.4 识别并描述泛化/特化
9.5 对象聚合
9.6 聚合的分类
9.6.1 组装-部分(整体-成分组合)
9.6.2 材料-对象组合
9.6.3 划分-对象组合
9.6.4 位置-区域组合
9.6.5 集合-成员组合
9.6.6 容器-容物(成员-束组合)
9.6.7 成员-合作组合
9.6.8 对象和聚合关系
9.7 对象之间的链
9.8 识别并描述链和聚合
9.9 管理关系
9.10 建立关系的文档
9.11 推荐的方法
9.12 小结
第10章 规划
10.1 介绍
10.2 规划
10.3 识别说明性描述
10.4 描述规则和建立规则文档
10.5 将规则映射为正确的OO概念
10.6 使用UML建立规划的文档
10.7 实现规则
10.8 推荐的方法
10.9 小结
第11章 模型
11.1 概念
11.2 概念和面向对象模型
11.2.1 类
11.2.2 关联
11.2.3 类聚合
11.2.4 泛化/特化
11.2.5 多态
11.2.6 实例化
11.3 使用UML建立概念的文档
11.3.1 类概念
11.3.2 关联
11.3.3 类聚合
11.3.4 泛化/特化
11.3.5 多态
11.3.6 实例化
11.4 精化模型
11.5 子系统
11.5.1 问题域
11.5.2 桥
11.6 组织子系统
11.6.1 横向分层
11.6.2 纵向划分
11.6.3 组合
11.7 识别子系统
11.8 建立子系统文档
11.9 推荐的方法
11.9.1 例子
11.9.2 精化
11.9.3 子系统
11.10 小结
第12章 设计
12.1 介绍
12.2 系统设计
12.2.1 子系统
12.2.2 体系结构框架
12.2.3 建立系统设计文档
12.3 详细设计
12.3.1 设计类
12.3.2 设计关联
12.3.3 泛化和继承
12.3.4 委托
12.3.5 Orlando条约
12.3.6 多继承
12.3.7 建立详细设计文档
12.4 小结
第13章 C++基础
13.1 历史
13.2 编程元素
13.2.1 关键字
13.2.2 标识符
13.2.3 字面值
13.2.4 运算符
13.2.5 标点
13.3 固有数据类型
13.3.1 基本数据类型
13.3.2 常量值
13.3.3 符号变量
13.3.4 指针类型
13.3.5 常量类型
13.3.6 引用类型
13.3.7 枚举类型
13.3.8 数组类型
13.3.9 typedef定义的类型名
13.4 什么是语句
13.4.1 表达式
13.4.2 复合语句
13.5 语句流控制
13.5.1 if语句
13.5.2 for语句
13.6 什么是函数
13.7 函数调用
13.7.1 函数定义
13.7.2 函数原型
13.7.3 内联
13.8 存储类
13.8.1 auto
13.8.2 extern
13.8.3 register
13.8.4 static
13.8.5 volatile
13.9 类型转换
13.9.1 static_cast
13.9.2 const_cast
13.9.3 dynamic_cast
13.9.4 reinterpret_cast
13.10 名字空间
13.11 推荐的方法
13.12 小结
第14章 类的实现
14.1 类的组成部分
14.2 类定义
14.3 类的体
14.3.1 可见性
14.3.2 数据成员
14.3.3 成员函数
14.4 使用继承的泛化
14.5 推荐的方法
14.6 小结
第15章 C++库
15.1 C标准库
15.1.1 <cassert>
15.1.2 <cctype>
15.1.3 <cerrno>
15.1.4 <cfloat>
15.1.5 <ciso646>
15.1.6 <climits>
15.1.7 <clocale>
15.1.8 <cmath>
15.1.9 <csetjmp>
15.1.10 <csignal>
15.1.11 <cstdarg>
15.1.12 <>cstddef
15.1.13 <>cstdio
15.1.14 <>cstdlib
15.1.15 <cstring>
15.1.16 <ctime>
15.1.17 <cwchar>
15.1.18 <cwctype>
15.2 C++类库
15.2.1 <bits>
15.2.2 <bitstrng>
15.2.3 <complex>
15.2.4 <defines>
15.2.5 <dynarray>
15.2.6 <exceptions>
15.2.7 <fstream>
15.2.8 <iomanip>
15.2.9 <ios>
15.2.10 <iostream>
15.2.11 <istream>
15.2.12 <new>
15.2.13 <ostream>
15.2.14 <ptrdynarry>
15.2.15 <sstream>
15.2.16 <streambuf>
15.2.17 <string>
15.2.18 <strstream>
15.2.19 <typeinfo>
15.2.20 <wstring>
15.3 标准模板库
15.3.1 <algorithm>
15.3.2 <bitset>
15.3.3 <complex>
15.3.4 <deque>
15.3.5 <functional>
15.3.6 <iterator>
15.3.7 <list>
15.3.8 <map>
15.3.9 <memory>
15.3.10 <numerics>
15.3.11 <queue>
15.3.12 <set>
15.3.13 <stack>
15.3.14 <utility>
15.3.15 <valarray>
15.3.16 <vector>
15.4 推荐的方法
15.5 小结
第16章 实现静态行为
16.1 函数定义
16.1.1 返回类型
16.1.2 返回语句
16.1.3 函数参数表
16.2 传递参数
16.2.1 按值传递
16.2.2 引用或指针参数
16.3 返回类型为引用或指针
16.4 类型转换
16.5 常量和缺省
16.5.1 常量
16.5.2 缺省初始化程序
16.6 标识符作用域
16.7 推荐的方法
16.7.1 在.h文件中定义
16.7.2 在.C文件中定义
16.8 小结
第17章 实现动态行为
17.1 动态行为的元素
17.1.1 简单状态图
17.1.2 嵌套状态图
17.1.3 并发状态图
17.2 推荐的方法
17.3 小结
第18章 实例化和删除对象
18.1 介绍
18.2 构造器
18.3 析构器
18.4 正确地使用构造器和析构器
18.5 泛化和构造器
18.6 推荐的方法
18.6.1 创建对象
18.6.2 销毁对象
18.7 编码准则
18.7.1 构造器编码准则
18.7.2 析构器编码准则
18.8 小结
第19章 实现泛化/特化
19.1 继承
19.1.1 说明派生类
19.1.2 从派生类中继承和实现关联
19.1.3 增加多态
19.1.4 抽象类
19.2 多继承
19.3 虚析构器
19.4 派生类的可见性
19.5 小结
第20章 实现更多的关系
20.1 介绍
20.1.1 实现关联
20.1.2 实现关联的属性
20.1.3 实现聚合
20.2 指针
20.3 数组
20.4 友元
20.5 静态成员
20.6 实现关联
20.6.1 二元关联
20.6.2 多对一关联
20.6.3 多对多关联
20.7 实现友元
20.7.1 类作为友元
20.7.2 函数作为友元
20.7.3 用友元实现一对多关联
20.8 实现聚合
20.8.1 埋入指针
20.8.2 嵌入对象
20.9 实现静态成员
20.10 推荐的方法
20.11 小结
第21章 案例分析介绍
21.1 案例分析1:突围
21.1.1 需求
21.1.2 获取领域知识
21.1.3 专家的知识
21.1.4 所提供的技术服务
21.2 案例分析2:微波炉
21.2.1 问题定义
21.2.2 一般描述
第22章 案例分析:突围游戏
22.1 步骤1:发现对象
22.2 步骤2:识别责任
22.2.1 寻找形容词
22.2.2 问题1
22.2.3 问题2
22.2.4 问题3
22.2.5 寻找服务
22.3 步骤3:描述行为
22.4 步骤4:描述关系
22.5 步骤5:精化
22.6 步骤6:设计
22.7 步骤7:实现
22.7.1 实现类
22.7.2 实现静态行为
22.7.3 对象实例化
22.7.4 实现继承
22.7.5 实现关系
第23章 案例分析:微波炉
23.1 用况
23.1.1 用况1:无中断的烹饪
23.1.2 用况2:取消烹饪
23.1.3 用况3:中断烹饪
23.2 解决方案1:设计控制器类
23.2.1 步骤1:发现对象
23.2.2 步骤2:识别责任
23.2.3 步骤3:描述行为
23.2.4 步骤4:描述关系
23.2.5 步骤5:精化
23.2.6 讨论
23.3 解决方案2:具有高耦合的责任分配
23.3.1 步骤1:识别对象
23.3.2 步骤2:识别责任
23.3.3 步骤3:描述行为
23.3.4 步骤4:描述关系
23.3.5 步骤5:精化
23.3.6 讨论
23.4 解决方案3:使用观察者机制分配责任
23.4.1 步骤5:精化
23.4.2 论讨
附录A 统一建模语言
参考文献
致谢
索引
第2版序言
第1版序言
第1章 信息管理的困境
1.1 问题的提出
1.2 什么是客户想要的
1.3 为什么面向对象对开发者是重要的
1.4 小结
第2章 管理复杂性:分析和设计
2.1 抽象机制
2.1.1 函数
2.1.2 模块
2.1.3 抽象数据类型
2.2 类/对象
2.2.1 消息传递
2.2.2 泛化/特化和多态
2.3 其他的关系
2.3.1 关联
2.3.2 聚合
2.4 行为
2.4.1 静态行为
2.4.2 动态行为
2.5 规则
2.6 复杂系统
2.7 小结
第3章 面向对象的编程
3.1 什么是面向对象的编程
3.1.1 不是银弹
3.1.2 一种高级的范围
3.2 基本的面向对象编程概念
3.3 面向对象编程语言
3.3.1 基于对象的编程
3.3.2 基于类的编程
3.3.3 面向对象的编程
3.3.4 高级面向对象的编程
3.3.5 前沿面向对象的编程
3.4 为什么选C++
3.5 组织现实的方式
3.6 计算的模拟模型
3.7 组织现实的面向对象方式
3.8 小结
第4章 限定问题域
4.1 用况介绍
4.1.1 系统
4.1.2 参与者
4.1.3 用况
4.1.4 用况包
4.2 建立用况文档
4.2.1 用况图
4.2.2 顺序图:建立细节文档
4.2.3 文本描述
4.3 开发用况的准则
4.3.1 避免分析瘫痪
4.3.2 识别参与者
4.3.3 识别高层用况和本质用况
4.3.4 建立用况包
4.3.5 开发用况细节
4.3.6 识别支持用况
4.3.7 开发边界用况
4.4 契约
4.5 推荐的方法
4.6 小结
第5章 寻找对象
5.1 面向对象的分析:应用域的模型
5.2 构造面向对象模型
5.3 识别对象
5.4 目前的技术
5.4.1 使用将被建模的事物
5.4.2 使用对象和类的定义
5.4.3 使用对象分解
5.4.4 使用概括
5.4.5 使用子类
5.4.6 使用面向对象的领域分析
5.4.7 利用应用框架
5.4.8 复用类层次
5.4.9 复用个体对象和类
5.4.10 使用子部件
5.4.11 使用个人经验
5.5 传统的技术
5.5.1 使用名词
5.5.2 使用传统的数据流图
5.5.3 使用类-责任-协作(CRC)卡片
5.6 推荐的方法
5.7 小结
第6章 识别责任
6.1 什么是对象
6.2 什么是属性
6.2.1 描述性属性
6.2.2 命名属性
6.3 什么是服务
6.4 什么是方法
6.5 识别属性
6.6 描述属性
6.7 识别服务
6.8 描述服务
6.9 推荐的方法
6.10 小结
第7章 描述静态行为
7.1 什么是行为
7.2 描述静态行为的技术
7.3 描述控制的技术
7.4 建立控制文档的技术
7.4.1 活动图
7.4.2 协作图
7.4.3 顺序图
7.5 建立静态行为文档的技术
7.5.1 前置条件和后置条件
7.5.2 流程图
7.5.3 数据流图
7.5.4 结构化英语
7.6 推荐的方法
7.7 小结
第8章 动态行为
8.1 介绍
8.2 识别动态行为的技术
8.2.1 一般的生存周期形式
8.2.2 捕获生存周期的模型
8.3 识别事件和描述事件
8.3.1 用况和场景
8.3.2 顺序图
8.3.3 例子
8.4 描述动态行为
8.4.1 事件列表
8.4.2 状态转换表
8.5 建立动态行为的文档
8.6 推荐的方法
8.7 小结
第9章 识别关系
9.1 访问另一个对象的服务
9.2 关系
9.3 泛化
9.4 识别并描述泛化/特化
9.5 对象聚合
9.6 聚合的分类
9.6.1 组装-部分(整体-成分组合)
9.6.2 材料-对象组合
9.6.3 划分-对象组合
9.6.4 位置-区域组合
9.6.5 集合-成员组合
9.6.6 容器-容物(成员-束组合)
9.6.7 成员-合作组合
9.6.8 对象和聚合关系
9.7 对象之间的链
9.8 识别并描述链和聚合
9.9 管理关系
9.10 建立关系的文档
9.11 推荐的方法
9.12 小结
第10章 规划
10.1 介绍
10.2 规划
10.3 识别说明性描述
10.4 描述规则和建立规则文档
10.5 将规则映射为正确的OO概念
10.6 使用UML建立规划的文档
10.7 实现规则
10.8 推荐的方法
10.9 小结
第11章 模型
11.1 概念
11.2 概念和面向对象模型
11.2.1 类
11.2.2 关联
11.2.3 类聚合
11.2.4 泛化/特化
11.2.5 多态
11.2.6 实例化
11.3 使用UML建立概念的文档
11.3.1 类概念
11.3.2 关联
11.3.3 类聚合
11.3.4 泛化/特化
11.3.5 多态
11.3.6 实例化
11.4 精化模型
11.5 子系统
11.5.1 问题域
11.5.2 桥
11.6 组织子系统
11.6.1 横向分层
11.6.2 纵向划分
11.6.3 组合
11.7 识别子系统
11.8 建立子系统文档
11.9 推荐的方法
11.9.1 例子
11.9.2 精化
11.9.3 子系统
11.10 小结
第12章 设计
12.1 介绍
12.2 系统设计
12.2.1 子系统
12.2.2 体系结构框架
12.2.3 建立系统设计文档
12.3 详细设计
12.3.1 设计类
12.3.2 设计关联
12.3.3 泛化和继承
12.3.4 委托
12.3.5 Orlando条约
12.3.6 多继承
12.3.7 建立详细设计文档
12.4 小结
第13章 C++基础
13.1 历史
13.2 编程元素
13.2.1 关键字
13.2.2 标识符
13.2.3 字面值
13.2.4 运算符
13.2.5 标点
13.3 固有数据类型
13.3.1 基本数据类型
13.3.2 常量值
13.3.3 符号变量
13.3.4 指针类型
13.3.5 常量类型
13.3.6 引用类型
13.3.7 枚举类型
13.3.8 数组类型
13.3.9 typedef定义的类型名
13.4 什么是语句
13.4.1 表达式
13.4.2 复合语句
13.5 语句流控制
13.5.1 if语句
13.5.2 for语句
13.6 什么是函数
13.7 函数调用
13.7.1 函数定义
13.7.2 函数原型
13.7.3 内联
13.8 存储类
13.8.1 auto
13.8.2 extern
13.8.3 register
13.8.4 static
13.8.5 volatile
13.9 类型转换
13.9.1 static_cast
13.9.2 const_cast
13.9.3 dynamic_cast
13.9.4 reinterpret_cast
13.10 名字空间
13.11 推荐的方法
13.12 小结
第14章 类的实现
14.1 类的组成部分
14.2 类定义
14.3 类的体
14.3.1 可见性
14.3.2 数据成员
14.3.3 成员函数
14.4 使用继承的泛化
14.5 推荐的方法
14.6 小结
第15章 C++库
15.1 C标准库
15.1.1 <cassert>
15.1.2 <cctype>
15.1.3 <cerrno>
15.1.4 <cfloat>
15.1.5 <ciso646>
15.1.6 <climits>
15.1.7 <clocale>
15.1.8 <cmath>
15.1.9 <csetjmp>
15.1.10 <csignal>
15.1.11 <cstdarg>
15.1.12 <>cstddef
15.1.13 <>cstdio
15.1.14 <>cstdlib
15.1.15 <cstring>
15.1.16 <ctime>
15.1.17 <cwchar>
15.1.18 <cwctype>
15.2 C++类库
15.2.1 <bits>
15.2.2 <bitstrng>
15.2.3 <complex>
15.2.4 <defines>
15.2.5 <dynarray>
15.2.6 <exceptions>
15.2.7 <fstream>
15.2.8 <iomanip>
15.2.9 <ios>
15.2.10 <iostream>
15.2.11 <istream>
15.2.12 <new>
15.2.13 <ostream>
15.2.14 <ptrdynarry>
15.2.15 <sstream>
15.2.16 <streambuf>
15.2.17 <string>
15.2.18 <strstream>
15.2.19 <typeinfo>
15.2.20 <wstring>
15.3 标准模板库
15.3.1 <algorithm>
15.3.2 <bitset>
15.3.3 <complex>
15.3.4 <deque>
15.3.5 <functional>
15.3.6 <iterator>
15.3.7 <list>
15.3.8 <map>
15.3.9 <memory>
15.3.10 <numerics>
15.3.11 <queue>
15.3.12 <set>
15.3.13 <stack>
15.3.14 <utility>
15.3.15 <valarray>
15.3.16 <vector>
15.4 推荐的方法
15.5 小结
第16章 实现静态行为
16.1 函数定义
16.1.1 返回类型
16.1.2 返回语句
16.1.3 函数参数表
16.2 传递参数
16.2.1 按值传递
16.2.2 引用或指针参数
16.3 返回类型为引用或指针
16.4 类型转换
16.5 常量和缺省
16.5.1 常量
16.5.2 缺省初始化程序
16.6 标识符作用域
16.7 推荐的方法
16.7.1 在.h文件中定义
16.7.2 在.C文件中定义
16.8 小结
第17章 实现动态行为
17.1 动态行为的元素
17.1.1 简单状态图
17.1.2 嵌套状态图
17.1.3 并发状态图
17.2 推荐的方法
17.3 小结
第18章 实例化和删除对象
18.1 介绍
18.2 构造器
18.3 析构器
18.4 正确地使用构造器和析构器
18.5 泛化和构造器
18.6 推荐的方法
18.6.1 创建对象
18.6.2 销毁对象
18.7 编码准则
18.7.1 构造器编码准则
18.7.2 析构器编码准则
18.8 小结
第19章 实现泛化/特化
19.1 继承
19.1.1 说明派生类
19.1.2 从派生类中继承和实现关联
19.1.3 增加多态
19.1.4 抽象类
19.2 多继承
19.3 虚析构器
19.4 派生类的可见性
19.5 小结
第20章 实现更多的关系
20.1 介绍
20.1.1 实现关联
20.1.2 实现关联的属性
20.1.3 实现聚合
20.2 指针
20.3 数组
20.4 友元
20.5 静态成员
20.6 实现关联
20.6.1 二元关联
20.6.2 多对一关联
20.6.3 多对多关联
20.7 实现友元
20.7.1 类作为友元
20.7.2 函数作为友元
20.7.3 用友元实现一对多关联
20.8 实现聚合
20.8.1 埋入指针
20.8.2 嵌入对象
20.9 实现静态成员
20.10 推荐的方法
20.11 小结
第21章 案例分析介绍
21.1 案例分析1:突围
21.1.1 需求
21.1.2 获取领域知识
21.1.3 专家的知识
21.1.4 所提供的技术服务
21.2 案例分析2:微波炉
21.2.1 问题定义
21.2.2 一般描述
第22章 案例分析:突围游戏
22.1 步骤1:发现对象
22.2 步骤2:识别责任
22.2.1 寻找形容词
22.2.2 问题1
22.2.3 问题2
22.2.4 问题3
22.2.5 寻找服务
22.3 步骤3:描述行为
22.4 步骤4:描述关系
22.5 步骤5:精化
22.6 步骤6:设计
22.7 步骤7:实现
22.7.1 实现类
22.7.2 实现静态行为
22.7.3 对象实例化
22.7.4 实现继承
22.7.5 实现关系
第23章 案例分析:微波炉
23.1 用况
23.1.1 用况1:无中断的烹饪
23.1.2 用况2:取消烹饪
23.1.3 用况3:中断烹饪
23.2 解决方案1:设计控制器类
23.2.1 步骤1:发现对象
23.2.2 步骤2:识别责任
23.2.3 步骤3:描述行为
23.2.4 步骤4:描述关系
23.2.5 步骤5:精化
23.2.6 讨论
23.3 解决方案2:具有高耦合的责任分配
23.3.1 步骤1:识别对象
23.3.2 步骤2:识别责任
23.3.3 步骤3:描述行为
23.3.4 步骤4:描述关系
23.3.5 步骤5:精化
23.3.6 讨论
23.4 解决方案3:使用观察者机制分配责任
23.4.1 步骤5:精化
23.4.2 论讨
附录A 统一建模语言
参考文献
致谢
索引
猜您喜欢