访问者模式
作者:互联网
当一类对象有相同的操作函数,但是各自的实现却不一样。
通常可以为它们定义一个共同基类,再在基类里定义它们都拥有的虚函数。
缺点是当操作函数增加或删减时,就得修改基类以及所用子类。
优点是当子类对象增加时,只需要写新增子类的内容。
使用访问者模式,会把数据与操作分离,也能把一个子类实现的源文件内容缩减,也算是优点。
最重要的优点应该还是,当操作函数增加或删减时,只需要继承访问基类,实现对各个数据子类的操作函数即可。
但是,当数据子类对象增加时,除了写新增子类的内容外,还需要修改访问基类与所有的访问子类。
所以,访问者模式适用于数据子类的种类较少;操作较多,且更新频繁的情景。
相对的,一般的继承多态,适用于操作较少;数据子类较多,且更新频繁的情景。
对照这篇文章可以自行体会一下。
标签:函数,子类,删减,模式,基类,操作,访问者 来源: https://www.cnblogs.com/map1e/p/15547741.html