摘要: 一、第四单元三次作业架构设计总结 第四单元的三次作业架构设计上,基本就是对官方包中的所有模型元素类(UMLElement)进行了代理,从而方便存储额外的信息来实现一些查找检测,然后各种暴力遍历解决问题,主要内容在于初始化后MyUmlElement添加保存所有的子元素以及MyUmlClass,MyUm 阅读全文
posted @ 2020-06-17 11:44 kircle 阅读(146) 评论(0) 推荐(0)
摘要: 一、JML语言 JML是针对Java的形式化描述语言,功能是以形式化的方式描述预期效果,以注释的形式书写在代码之中。 使用JML可以提供很好的模型规格描述,从而容易高效地检查、发现、纠正错误,并且提供与代码同步的文档。 语法 \result:方法执行后的返回值。 \old(expr):表示一个表达式 阅读全文
posted @ 2020-05-20 20:18 kircle 阅读(138) 评论(0) 推荐(0)
摘要: 一、多线程的协同和同步控制方面的设计策略 得益于第一次作业架构设计的足够强大并且留下了充分的接口,后续两次作业基本只是小调整加优化调度策略而已,所以以下三次作业均不做区分叙述,三次作业线程间均采用了异步通信的设计策略,好处在于没有共享资源,避开了锁与同步控制的麻烦,数据拷贝带来的时间空间浪费对于这种 阅读全文
posted @ 2020-04-16 12:58 kircle 阅读(144) 评论(0) 推荐(0)
摘要: 第一次作业 简单的幂函数求导,输入格式相当清晰,因此采用了HashMap,以指数为Key,系数为Value的方式存放表达式,并封装成Poly类,通过输出时按系数大小预排序尽可能避免了开头出现负号,因为设计过于简单并未被迭代沿用,不多叙述。 程序结构 Poly类152行,负责解析字符串,求导,输出字符 阅读全文
posted @ 2020-03-18 19:31 kircle 阅读(178) 评论(0) 推荐(0)