|
|
教学公告
19软工第16周安排
一、教学安排
时间:6月7日:
内容:
实验课: 实验7
理论课:第27章 访问者模式
二、重点难点
1、重点:掌握访问者模式的动机及结构
2、难点:理清三种对象的关系,
三、课前思考
访问者模式中 对象结构-访问者-元素三者之间的关系。 如何实现数据结构与数据操作的解耦,使得数据结构的操作变得更加方便.
四、师说
一、访问者模式是一种结构相对复杂,而且使用比较少的设计模式。在该模式中,涉及了三类对象: 对象结构(数据集/元素集),访问者,元素。
1)在每个访问者中定义了访问对象结构中的元素的具体方法,该方法的形参是一个元素类型的对象,因此,访问者依赖被访问的具体元素。
2)在每个元素中定义了接受的访问者,该方法参数是一个访问者对象,并把自己作为参数传递给访问者对象,因此,元素依赖具体访问者。
3)因为对元素数据的操作方法是在具体的访问者中定义的,因此可以实现 传入的访问者不同,访问到元素的数据就不同。
4)访问者模式把数据结构和作用于结构上的操作解耦合,从而实现数据结构访问的方便性与多样性。
二、访问者模式适用的情境:
1)对象结构比较稳定,但经常需要在此对象结构上定义新的操作
2)对一个对象结构中的对象进行很多不同的且不相关的操作,而需要避免这些操作“污染”这些对象的类,也不希望在增加新操作时修改这些类
五、阅读材料
访问者模式:
https://www.jianshu.com/p/1f1049d0a0f4
https://blog.csdn.net/weixin_43299461/article/details/86522657