您申请加入课程:软件构造

软件构造

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

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

    Creator

    潘家辉
  • 活跃度

    Activeness

  • 访问量

    Visits

    79848

教学公告

18软工第9周安排
[作者: 陈恒法  发布时间:2021-04-27 00:09:07  浏览次数:542次]

18软件工程《软件构造》第9周教学安排


一、教学安排


讲授第15章:代理模式 ,16章:职责链模式 的相关内容。请大家可以根据自己的情况安排相应的预习。



二、重点难点


1、理解代理模式和职责链模式的动机和结构

2、了解动态代理的实现原理,掌握动态代理的实现。

3、掌握职责链模式的实现,探索双向职责链模式

4 、通过设计模式理解 开闭原则、单一职责原则、多态、高内聚低耦合



三、课前思考


小明所在的软件公司欲软件公司开发人员开发一款OA软件,该元件有两个重要的功能模块,一是用户权限管理,二是业务的逐级审批流程处理。
权限管理模块中需要根据用户不同的级别赋予其不同的权限(如 浏览,发布,审核),并且用户的每次操作都需要在日志中记录用户的操作信息。
在业务审批模块中,用户提交一个需要审批的申请后,系统自动完成业务审批流程的流转。


思考1:如何实现代理模式实现用户权限管理和记日志操作?

思考2:如何使用职责链模式实现审批流程的双向自动流转?

思考3:把两种模式相结合使用代码模拟实现用户权限检查,业务审批,记录日志。代码要求体现开闭原则,单一职责原则,多态,高内聚低耦合。


四、师说

1、程序设计是为了满足人们更快更好地解决问题的需要,程序设计过程就是问题解决的建模过程, 每一种设计模式都是人们经过了多年的程序设计实践后总结出来的解决某一类问题的优秀范式。遵循设计模式和面向对象的设计原则可以使你的代码在可重用性、可维护性、可扩展性方面更加优秀。问题越复杂,后期维护和功能扩展需求越强,设计模式就越显得重要。特别是现在软件开发过程中流行采用敏捷开发,后期维护和拓展的需求更加强烈。

2、人们总结出了多种经典的设计模式,并把它们独立开以便于交流和学习,但是解决问题的过程中,很多时候都是需要多种模式相互配合,才能更好地解决问题。希望大家在熟练掌握每一种模式后尽量思考使用这些模型来解决问题,以达到融会贯通。


五、拓展阅读材料

10分钟看懂动态代理设计模式:https://www.jianshu.com/p/fc285d669bc5

JAVA动态代理:https://www.jianshu.com/p/9bcac608c714

java动态代理实现与原理详细分析:https://www.cnblogs.com/gonjan-blog/p/6685611.html

简单理解高内聚低耦合:https://blog.csdn.net/Carina_nana/article/details/100589918


相关课程

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

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