访问者模式的访问者其实可以看作策略模式的策略?

访问者模式的访问者其实可以看作策略模式的策略?可以这么看么?

阅读 2.7k
2 个回答

显然不能这么理解。

  1. 策略模式是一个类内置的算法集,可以根据使用的类交换算法。当你想在运行时决定使用的算法,这个模式会有用。

![图片上传中...]

  1. 访问者模式允许我们不用改变实际的类就可以改变类的结构。它是分离当前数据结构和逻辑算法的一种方式。正因为如此,你可以不用改变类的结构就能向当前数据结构添加新逻辑。再一,你可以改变结构而不用触碰逻辑。

![图片上传中...]

我觉得研究这个意义不大。只要知道接口和继承的功能,再根据需求合理使用它,就完事了。大部分设计模式来来去去就接口和继承换着花样来用。

所以经常是我写完代码后,别人拿来告诉我这是什么模式。

如果有兴趣深入交流下这个,你可以把这两个模式要实现的需求发出来,我说下怎么创造它。而且研究设计模式本来就应该从需求入手,不然研究完了也不知道用来干嘛的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题