注: 此笔记仅为个人学习此教程的布局和材料组织之用. 如有兴趣请自行详阅.

第一章是以吉他商店的存货系统作例子.

第二章设计有狗洞的门.

第三章对第二章基础上, 更改需求后对应设计.

第四章继续改进此门, 添加对自家狗的识别等.

第五章, 对第一章吉他商店的例子进行扩展, 看到抽象类等等.

第六章一个游戏项目的需求分析

第七章对游戏项目进行顶层和细化设计

第八章对之前的几个项目应用常用OO模式

第九章继续游戏项目

第十章作为最终项目, 基于地铁系统开发地图/路径搜索应用. 迭代开发如下:

一次迭代

用例:

管理员 - 载入地铁线路; 旅游代理 - 获取路线

类设计如下(基于书中UML图简化)

地铁载入器类.从文件载入(文件类) 返回 地铁类

地铁类.添加站点(字符串类)
地铁类.存在站点(字符串类) 返回 布尔值
地铁类.添加区间(字符串类, 字符串类, 字符串类)

站点类.名称 为 字符串类
站点类.取名称() 返回 字符串类
站点类.等于(个例) 返回 布尔值
站点类.哈希码() 返回 整型

区间类.段名称 为 字符串类
区间类.取站点1() 返回 站点类
区间类.取站点2() 返回 站点类
区间类.取段名称() 返回 字符串类

之后的源码部分只是对设计的简单实现, 略去.

二次迭代

添加路径搜索功能和路径打印器.

读后小结

与现实项目类似的迭代开发和根据需求增加扩展设计的教授方式很有参考价值. 更理想的是整本书都采用同一个项目, 但对素材和章节组织会有更大挑战.