观察者模式的使用

一、背景

系统有三个模块,分别为:组卷、答题卡、阅卷。其功能描述如下:

1、组卷:选择试题并生成试卷。

2、答题卡:根据试卷生成相应的答题卡。

3、阅卷:对作答并扫描后的答题卡进行网上阅卷。

 

系统有这样的业务逻辑:当开始阅卷后,相对应的答题卡、试卷都不能再修改和删除。于是,阅卷模块与组卷模块、答题卡模块紧密耦合,阅卷模块开始阅卷后要更新试卷、答题卡的状态。

 

二、问题本质

模块耦合产生一个明显的问题,那就是阅卷模块变得很复杂,例如:开始阅卷要关注试卷,还要关注答题卡。 如果相关联的模块进一步增多的话,阅卷模块将不堪重负。

 

三、解决措施

想到的一个解决办法,就是使用观察者模式对模块进行解耦。阅卷模块派发开始阅卷事件,组卷模块、答题卡模块响应此事件,进行自身的业务逻辑处理。


观察者模式的使用
 


观察者模式的使用
 


观察者模式的使用
 

 

 

 

 

 

 

 

你可能感兴趣的:(观察者模式)