oo第四单元总结
oo第四单元总结
第四单元架构设计
总体架构
- 本单元要对Uml图进行解析,而Uml图本身就具有树形结构,照理应该对所有类进行自定义封装,但结合需求加上烤漆能省则省的原则简化为了如下的设计。
细节设计
-
索引设计:以Id作为每个元素的索引,才外为处理重名增设Name到Id的索引
-
记忆化搜索:本单元对静态图进行分析,保存分析结果可提高效率
-
重点功能实现:
- 循环继承:拓扑排序
- 重复继承:遍历
- 关键路径:遍历
总结
设计思维
- 四个单元分别对应四个设计重点,层次化,交互,模型化,封装
- 层次化:寻找问题内部的逻辑层次
- 交互:划分不同类的功能进行协作
- 模型化:准确完成需求到实现的转换
- 封装:对功能进行解耦,简化设计
- 从开始的写一步看一步,到最后脑中已经有了设计原则与具体的设计模式,能做到设计在先。
测试
- 四个单元下来在测试上感觉只有方法上的提高,并没有理念上的进步,最终还是只有这两个方法:
- 随机测试+对拍
- 构造边界数据
课程收获
- java的语法知识
- 工程化的设计思维
- 相关工具的使用——git,md
课程建议
- 采用jml方式叙述需求,避免在理解需求细节上花费大量时间
- 每次作业后发布参考设计代码,供同学们学习提高
- 可增设一次团队作业,锻炼团队合作与规范化设计