2018-08-13 Head First OO分析设计一书略读与例子中文化
注: 此笔记仅为个人学习此教程的布局和材料组织之用. 如有兴趣请自行详阅.
第一章是以吉他商店的存货系统作例子.
第二章设计有狗洞的门.
第三章对第二章基础上, 更改需求后对应设计.
第四章继续改进此门, 添加对自家狗的识别等.
第五章, 对第一章吉他商店的例子进行扩展, 看到抽象类等等.
第六章一个游戏项目的需求分析
第七章对游戏项目进行顶层和细化设计
第八章对之前的几个项目应用常用OO模式
第九章继续游戏项目
第十章作为最终项目, 基于地铁系统开发地图/路径搜索应用. 迭代开发如下:
一次迭代
用例:
管理员 - 载入地铁线路; 旅游代理 - 获取路线
类设计如下(基于书中UML图简化)
地铁载入器类.从文件载入(文件类) 返回 地铁类
地铁类.添加站点(字符串类)
地铁类.存在站点(字符串类) 返回 布尔值
地铁类.添加区间(字符串类, 字符串类, 字符串类)
站点类.名称 为 字符串类
站点类.取名称() 返回 字符串类
站点类.等于(个例) 返回 布尔值
站点类.哈希码() 返回 整型
区间类.段名称 为 字符串类
区间类.取站点1() 返回 站点类
区间类.取站点2() 返回 站点类
区间类.取段名称() 返回 字符串类
之后的源码部分只是对设计的简单实现, 略去.
二次迭代
添加路径搜索功能和路径打印器.
读后小结
与现实项目类似的迭代开发和根据需求增加扩展设计的教授方式很有参考价值. 更理想的是整本书都采用同一个项目, 但对素材和章节组织会有更大挑战.
2018-08-13 Head First OO分析设计一书略读与例子中文化的更多相关文章
- (转)新手C#SQL语句的学习2018.08.13
1.创建数据库(create) CREATE DATABASE database-name 2.删除数据库(drop) drop database dbname 3.备份数据库 --- 创建 备份数据 ...
- 【2018.08.13 C与C++基础】C++语言的设计与演化读书笔记
先占坑 老实说看这本书的时候,有很多地方都很迷糊,但却说不清楚问题到底在哪里,只能和Effective C++联系起来,更深层次的东西就想不到了. 链接: https://blog.csdn.net/ ...
- 【2018.08.13 C与C++基础】网络通信:阻塞与非阻塞socket的基本概念及简单实现
一.前言 最近在做Matalb/Simulink与C/C++的混合编程,主要是完成TCP.UDP.SerialPort等常见通信方式的中间件设计,为Simulink模型提供数据采集及解析模块. 问题在 ...
- 【设计模式系列】之OO面向对象设计七大原则
1 概述 本章叙述面向向对象设计的七大原则,七大原则分为:单一职责原则.开闭原则.里氏替换原则.依赖倒置原则.接口隔离原则.合成/聚合复用原则.迪米特法则. 2 七大OO面向对象设计 2.1 单一 ...
- 新手C#SQL Server使用记录2018.08.10
主键(PrimaryKey):主键就是每个数据行(记录)的唯一标识,不会有重复值的列(字段)才能当做主键.一个表可以没有主键,但是这样会很难处理表,因此一般情况表都要设置主键. 主键有两张选用策略,分 ...
- OO的设计原则
今天同事和我们一起讨论分享了OO的设计原则,讨论使人明晰,有人一起讨论学习是一件幸福的事情. 1.开闭原则 对功能的扩展是开放的,对修改是闭合的. 可以应用于类的设计,框架的设计等. 为什么?开闭原则 ...
- 面向对象分析设计-------02UML+UML各种图形及作用
一.UML是什么?UML有什么用? 二.UML的历史 三.UML的上层结构(Superstructure) 四.UML建模工具 五.UML的图(重点) 1.用例图(use case diagram) ...
- 2016.08.13/2/index/_d_Lucene54_0.dvm: Too many open files
er[file_system_exception: /elk/elasticsearch/data/es_cluster/nodes/0/indices/logstash-zjzc-frontend- ...
- Intel Digital Innovation Industry Summit(2018.08.17)
时间:2018.08.17地点:北京金隅喜来登大酒店
随机推荐
- ELK搭建elasticsearch常见报错
问题一: [2018-01-31T16:27:21,712][WARN ][o.e.b.JNANatives ] unable to install syscall filter: Java.lang ...
- redux源码学习笔记 - applyMiddleware
在创建store时,createStore(reducer, preloadedState, enhancer),除了reducer函数,初始状态,还可以传入enhancer.这个enhancer在c ...
- Oracle nal() 和count(*)的注意点
select count(*) into fhave from tab_ppxuser where name = userstr;和select nvl(hphotourl, '0') into ph ...
- 源码安装ELK-5.6.10版本
目录: 一.介绍 二.安装JDK 三.安装Elasticsearch 四.安装Kibana 五.安装Nginx 六.安装Logstash 七.安装Logstash-forwarder 八.测试 系统环 ...
- skywalking部署
官方文档:Setup java agent Backend and UI 下载地址:http://skywalking.apache.org/downloads/ 解压后目录 部署UI和收集器 进入w ...
- mysql 开发进阶篇系列 44 物理备份与恢复( 热备份xtrabackup 工具介绍)
一.概述 物理备份和恢复又分为冷备份和热备份.与逻辑备份相比,它最大优点是备份和恢复的速度更快.因为物理备份的原理都是基于文件的cp. 1.1 冷备份 冷备份就是停掉数据库服务.这种物理备份一般很少使 ...
- java jar 后台运行
nohup java -jar $APP_NAME.jar >/dev/null &
- SpringBoot2.0源码分析(四):spring-data-jpa分析
SpringBoot具体整合rabbitMQ可参考:SpringBoot2.0应用(四):SpringBoot2.0之spring-data-jpa JpaRepositories自动注入 当项目中存 ...
- SpingBoot 属性加载
属性加载顺序 配置属性加载的顺序 开发者工具 `Devtools` 全局配置参数: 单元测试上的 `@TestPropertySource` 注解指定的参数: 单元测试上的 `@SpringBootT ...
- 视频人脸检测——Dlib版(六)
往期目录 视频人脸检测--Dlib版(六) OpenCV添加中文(五) 图片人脸检测--Dlib版(四) 视频人脸检测--OpenCV版(三) 图片人脸检测--OpenCV版(二) OpenCV环境搭 ...