Vistor设计模式续:合并操作,分离思考

来源:互联网 发布:上海第一人民医院 知乎 编辑:程序博客网 时间:2024/05/22 16:19

对于一个researcher来说,希望代码越写越简单。当然,如果我再贪心一点,希望代码能够容易改变,便于算法改进或者发现新问题。

所以现在,我对对象的类继承和抽象基类不是很狂热 ,因为改起来不是很方便。除了很成熟的情况,一般我不会主动用抽象基类继承的。

另外一个结论,我应该讨厌那些将操作分散到代码的各个角落的做法。一个是过了两个月我就要将代码从头理解了。另外一方面,除了我没人懂那些乱七八糟的逻辑判断。但是微软的onleftbuttondown,on mousemove,我实在没有能力去改。(matlab的ginput多好啊!)而visitor模式提供了一个绝好的增添分离合并新操作的手段。

试想如果我们定义了数据结构class1,class2(共同夫类),然后想定义功能1,功能2,为了保证接口一致, 用虚函数的方法来在class1,2里面分别实现两个功能。---o, 感谢Stroustrup,我终于实现多态了.不过这样我还是不爽。这样的代码帮助我们思考了吗?

所以,我想把各个功能都集中起来。感谢visitor,他让我避免污染对象的类,他让我很容易的增加新操作. 阿门,感谢Andrew Fitzgibbon的评价,两届Marr Medal得主真不是盖的. 别问我Marr Medal 和编程有什么关系,我根本不知道.嘿嘿

原创粉丝点击