您申请加入课程:软件构造
需要验证您的身份,请输入课程密码:
您的学号:
班级选择:
课程密码:

软件构造

华南师范大学软件工程专业

https://www.scholat.com/course/rjgz
  • 创建者

    Creator

    潘家辉
  • 活跃度

    Activeness

  • 访问量

    Visits

    85586

教学公告

17软件工程《软件构造》第14周安排
[作者: 陈恒法  发布时间:2020-05-31 14:03:54  浏览次数:1054次]

17软件工程《软件构造》第14周安排


一、教学安排

时间:6月1日:
3、4班 : 实验课: 1-2节(8:30-10:00) ; 理论课: 3-4节(10:20-11:50)

1、2班 : 实验课: 5-6节(2:00-15:30) ;理论课: 7-8节(15:40-17:10)

内容:
1、自主实践: 实验6

实验材料: 学者网 http://www.scholat.com/course/T_homeworkList.html?courseId=685

2、授课: 腾讯课堂

第23章 观察者模式(P349-369)

第24章 状态模式(P370-388)
导学视频资料: 砺儒云课堂:https://moodle.scnu.edu.cn/course/view.php?id=9522

腾讯课堂:

https://ke.qq.com/webcourse/index.html?cid=2107503&term_id=102209673&lite=1&from=800021724


二、重点难点

1、重点:掌握观察者模式和状态模式的动机及结构

2、难点:状态模式实现原理

三、课前思考

1、 在程序设计过程中,我们总会遇到这样的情况,当一个对象的状态发生变化时,需要通知其他的对象,让其它对象知道它发生了变化,一遍采取相应的对策。比如在上一次的聊天室工实例,服务器端维护中所有在线用户的列表,如果有新的用户登录或退出时,服务器端需要通知其他的客户端用户,把新登录用户添加到所有客户端的用户列表中或退出的用户从客户端的列表中删除。 如果我们设计不当,比如每个客户端每隔一段时间就向服务器发出轮询请求,如果有用户变动,就新本地列表。采用这种轮询机制,如果时间间隔设置小了,必然会导致很多无谓的网络通信,如果时间间隔设计大了,又不能及时知道在线用户的情况,造成通信不畅。另外,随着用户的不断增多,被轮询的次数也就增多,服务器有被被拖垮的可能。 有没有一种跟合适的方式,既可以减轻服务器的负担,又可以及时地掌握用户的变化?

2 、教程在讲解状态模式的时候使用的例子,如果让你换一种方式来实现,你会怎样做?请尝试使用代码模拟实现你的设计,并分析比较你更喜欢哪种实现方法,为什么?

四、师说

基于抽象的程序设计 是提高程序可拓展性和可维护性最有效的方法。基于抽象的变成,是利用面向对象的程序设计中多态这个重要的特征。没有了多态,就没有基于抽象的程序设计。


五、阅读材料

观察者模式:

https://www.jianshu.com/p/d55ee6e83d66

https://blog.csdn.net/zuoxiaolong8810/article/details/9081079

监听器模式 https://blog.csdn.net/lovexiaotaozi/article/details/102579880


状态模式:

https://www.cnblogs.com/peterxiao/p/11127037.html



相关课程

扫一扫二维码,快速加入本课程!

放大二维码 查看使用方法
关闭