OO第四单元总结

一、架构设计

本单元后两次作业都只进行了增量开发,没有对前次内容进行修改,故只放第三次的UML图

由于每次作业都在上一次作业的基础上进行增量开发,而没有对原架构进行修改,故仅上第三次作业的UML图。

第一次作业:

只有一个umlInteraction类,没有设计复杂的数据结构存储信息,也没有对uml图信息建模,而是只保存了所有类的父亲和对element进行了分类,对于所有查询都是现算。

第二次作业:

对所有状态图分别建图并保存,时序图现查

第三次作业

分别实现了每条规则检查,并把超出500行的部分放到了另一个类中

二、架构设计及OO方法理解的演进

第一单元

前两次作业比较简单,第三次作业内容比较复杂,一开始我粗略的想采用表达式树的架构就直接动手,后来越写越乱,于是停下后比较详细的设计了架构、填充了细节并画了类图,最终比较顺利的完成了第三次作业

第二单元

初次接触多线程,先学习了生产者-消费者模式,用其完成了前两次作业,然后学习了工人模式,用其解决了第三次作业

第三单元

学习了契约式编程,作业主要是对契约式编程的实践,按照jml补充代码即可

第四单元

学习了有关uml图的知识,主要是类图、协作图、状态图三个理解架构的角度,图是对程序的抽象和可视化,学习了uml后对架构设计和理解帮助很大,比如现在看别人的blog只看的uml图就可以大致了解他的设计。因为到了烤漆,不能再像前几个单元一样全情投入OO作业中,我这个单元的oo完成的比较仓促。作业是实现uml解释器,可以感受到我们实现的规则奥妙重重,但是由于精力被牵扯也没什么心思琢磨,比较遗憾。

三、测试理解与实践的演进

因为经常压线作业,所以没有对我的工作做除了样例以外的测试,oo各单元bug不断。没有耕耘,没有收获

四、我的课程收获

主要的收获都已经呈现第二部分中了

五、一些建议

  1. 建议取消第三单元博客配置工具链的内容,感觉没有意义。
  2. 建议第四单元在介绍关联、聚合比较迷惑的关系时能增加一下示例代码来辅助理解。
  3. 建议第四单元可以有一个对于输入内容的具体说明
  4. 建议对实验结果提供反馈

六、线上学习的感受

感觉和线上学习差别不大,就是交流机会更多需要自己去创造

原文地址:https://www.cnblogs.com/lllllllllllllllllllllllllllll/p/13162564.html