现在的位置: 首页 > 综合 > 正文

【效率与整洁】

2018年10月09日 ⁄ 综合 ⁄ 共 458字 ⁄ 字号 评论关闭

整洁度与效率的难以抉择出现在以下这种情况:


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之后再来回顾此文。


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

抱歉!评论已关闭.