【效率与整洁】

来源:互联网 发布:手机淘宝怎么评价 编辑:程序博客网 时间:2024/06/05 11:49
整洁度与效率的难以抉择出现在以下这种情况:


class Base{protected: int a,b,c;public: virtual void Do() {  a = c;    Update(); }private: void Update() {  //Some important behaviours. } //Limited...}class ChildOne : public Base{public: void Do() {  Base::Do();  a = b; } //Limited...}


如上面的这种情况,
ChildOne是Base的一个子类,
不过Base除了这个它还有其他100个子类。
其他的子类都可以完美地调用Base::Do()——说明基类虚函数的必要性。
但是对ChildOne而言,
基类虚函数Do中的第一步却是多余的,但第二步却又不能省略。

在这种情况下,有何种更巧妙的解决方案呢?


这里暂且按下不表,

待我读完Refactoring And Patterns之后再来回顾此文。


(当然,
这里的"多余操作"是泛指,
并不仅仅只是赋值,
还有很多其他更占用内存,耗资源的操作。)
原创粉丝点击