Visitor pattern 为了解决啥问题呢? 就是说你定义一个 class , 但是你知道日后一定会改变需求, 但是具体的变化你 真的是不知道.
那么好了 Visitor pattern 就来了. 它就是在你设计的class 里面 开个小小的窗口接口, 以便你日后决定具体的改变.
其实Visitor pattern 有点破坏OO的 封装的特性. 具体实现是用 double dispatch 来玩的. 其实说到design pattern 我有时候真的是不知道具体的pattern名字.
但是有点不客气的说, 我几乎可以做到手中无刀 胸中有刀的境界了! 自吹一下. ^_^ . 其实pattern 就是实际当中你解决问题办法的抽象. 如果类似于 这个 visitor pattern. 完全可以根本不用, 到时候生bind 函数就是了. 所以有的时候 design pattern 有脱裤子放屁的感脚! 个人之间, BTW 我不敢说 23个 pattern 我都熟悉吧. 但是起码感觉 80% 我都比较了然于胸吧. 可能我比较偏激, 我越写 OO 越感觉 OO 有脱裤子放屁的感觉! 所以我上面说 向伟大的 C 语言致敬! 个人对OO 语言理解不透彻. 希望大家少拍砖! 更不要进行人身攻击. 我承认我很菜! 但是我起码有说出自己想法的权利吧? 咱爹妈给一张嘴, 除了吃饭, 就让说话. 这个别让我的嘴失去50%的功能阿. 上帝估计都不答应! ^_^
那么好了 Visitor pattern 就来了. 它就是在你设计的class 里面 开个小小的窗口接口, 以便你日后决定具体的改变.
其实Visitor pattern 有点破坏OO的 封装的特性. 具体实现是用 double dispatch 来玩的. 其实说到design pattern 我有时候真的是不知道具体的pattern名字.
但是有点不客气的说, 我几乎可以做到手中无刀 胸中有刀的境界了! 自吹一下. ^_^ . 其实pattern 就是实际当中你解决问题办法的抽象. 如果类似于 这个 visitor pattern. 完全可以根本不用, 到时候生bind 函数就是了. 所以有的时候 design pattern 有脱裤子放屁的感脚! 个人之间, BTW 我不敢说 23个 pattern 我都熟悉吧. 但是起码感觉 80% 我都比较了然于胸吧. 可能我比较偏激, 我越写 OO 越感觉 OO 有脱裤子放屁的感觉! 所以我上面说 向伟大的 C 语言致敬! 个人对OO 语言理解不透彻. 希望大家少拍砖! 更不要进行人身攻击. 我承认我很菜! 但是我起码有说出自己想法的权利吧? 咱爹妈给一张嘴, 除了吃饭, 就让说话. 这个别让我的嘴失去50%的功能阿. 上帝估计都不答应! ^_^