[高级软件工程教学]个人第4次作业评分
一、作业地址:
https://edu.cnblogs.com/campus/fzu/AdvancedSoftwareEngineering/homework/1302
二、作业评分
规则:
- 篇博客随笔;(5 points)
- 每题的解答包括:类图(5 points)、关键类java源码及注释(6 points);(每题11 points)
评分:
学号 | B1 | T1-1 | T1-2 | T2-1 | T2-2 | T3-1 | T3-2 | T4-1 | T4-2 | T5-1 | T5-2 | 总分 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
*320034 | 5 | 5 | 5 | 5 | 6 | 5 | 5.5 | 5 | 6 | 5 | 6 | 58.5 |
*320036 | 5 | 5 | 5 | 5 | 5.5 | 5 | 5.5 | 5 | 6 | 2.5 | 3 | 52.5 |
*320053 | 5 | 5 | 5.5 | 5 | 6 | 5 | 5.5 | 5 | 6 | 5 | 5 | 58 |
*320074 | 5 | 5 | 6 | 5 | 6 | 5 | 5 | 5 | 6 | 4.5 | 6 | 58.5 |
*320075 | 5 | 5 | 4.5 | 5 | 5.5 | 4.5 | 5.5 | 5 | 6 | 4 | 4 | 54 |
*320076 | 5 | 5 | 6 | 5 | 6 | 5 | 6 | 5 | 6 | 4.5 | 5.5 | 59 |
*320077 | 5+3 | 5 | 6 | 5 | 6 | 4 | 5 | 5 | 6 | 4.5 | 5 | 59.5 |
*320078 | 5 | 4.5 | 5.5 | 4 | 4 | 5 | 5 | 4.5 | 4.5 | 2.5 | 3 | 47.5 |
*320079 | 5+3 | 5 | 6 | 5 | 6 | 5 | 4.5 | 5 | 6 | 4 | 5 | 59.5 |
*327033 | 5 | 5 | 6 | 5 | 5.5 | 5 | 6 | 5 | 5.5 | 5 | 6 | 59 |
*327037 | 5 | 5 | 5.5 | 5 | 5.5 | 5 | 5 | 5 | 5.5 | 2.5 | 3 | 52 |
*327041 | 5 | 5 | 5.5 | 5 | 5.5 | 5 | 5 | 5 | 5.5 | 2.5 | 3 | 52 |
*327078 | 5 | 5 | 5.5 | 5 | 5 | 3 | 3 | 5 | 6 | 2.5 | 3 | 48 |
*327109 | 5 | 5 | 6 | 5 | 6 | 5 | 5.5 | 5 | 6 | 4.5 | 6 | 59 |
*327112 | 5 | 5 | 6 | 5 | 6 | 5 | 5.5 | 5 | 6 | 5 | 6 | 59.5 |
*327010 | 3 | 4 | 5 | 5 | 5.5 | 5 | 6 | 4.5 | 4.5 | 3.5 | 4 | 50 |
B1:博客评分
Tn-1:类图得分
Tn-2:关键类java源码及注释得分
三、总结
1、相对于上次作业总结中提出的类图中类、接口以及类之间的连接线问题,本次作业中得到很大改善。
2、有些同学的所有模式中,都没有测试类(或Client)。对于作业中的某些具体问题,如果没有写测试类,无法描述清楚题目中的问题,如下面两题:
第三题:某系统提供一个数据加密功能,可以对字符串进行加密。最简单的加密算法通过对字母进行移位来实现,同时还提供稍复杂的逆向输出加密,还提供更为高级的求模加密。用户首先使用最简单的加密算法对字符串进行加密,如果觉得还不够可以对加密后的结果使用其他的加密算法进行二次加密,当然也可以进行第三次加密。使用Decrator模式来设计。
第五题:某论坛已注册用户和游客的权限不同,已注册用户拥有发帖、修改自己的注册信息等功能;游客只能看别人的帖子,没有其他权限。使用Proxy模式来设计。
(1)如果在第三题中,没有测试类,如何实现题目要求的二次加密,三次加密过程?
(2)在第五题中,通过撰写具体的测试类,可以对代理模式具体如何工作,如何通过代理类去实现代理功能等方面有更直观的理解。
(3)这两种模式很容易被混淆,他们之间明显的区别,体现在Client实现的过程中[1]。
注:第三次设计模式作业,所有模式都要求写测试类。
3、这次作业中,第三题的Decrator模式[2]和第五题的Proxy模式[3,4]出现了比较多的问题。针对每个同学出现的具体问题,助教都有在你们的博客下面点评,希望各位同学结合点评查阅相关资料修正类图和代码。若有不同的意见,可以在班级群里交流或者向助教、老师提出疑问。下面是这两个模式作业完成比较好的同学,大家可以参考:
- 第三题的Decrator模式 [林洋洋][http://www.cnblogs.com/bugLoser/p/7812095.html]
- 第五题的Proxy模式[周静平][http://www.cnblogs.com/zjp17/p/7832454.html]
4、在设计模式学习过程中,类比、归纳、总结是一种高效的方法
(1)适配器模式、装饰者模式、代理模式、中介模式[5]
(2)工厂模式、抽象工厂模式、建造者模式
例如上面(1)和(2)中的这两组设计模式。每组内的设计模式之间有何区别和联系?这些模式具体是什么?用于哪些场景?
通过总结可以更全面地理解这些设计模式。
引用:
[1]http://www.cnblogs.com/jaredlam/archive/2011/11/08/2241089.html
[2]https://www.cnblogs.com/jiqing9006/p/5962431.html
[3]https://www.cnblogs.com/whoislcj/p/5693980.html
[4]https://www.cnblogs.com/cenyu/p/6289209.html
[5]http://blog.csdn.net/lulei9876/article/details/39994825