【问题标题】:Which is the better Subclass or handle logic?哪个是更好的子类或处理逻辑?
【发布时间】:2018-11-13 13:26:12
【问题描述】:

假设我有一个编辑框,不管是在 MFC 还是 Win32 或...

出于某种原因,我需要进行编辑,只接受字母字符,这意味着在“az”范围内。

所以我可以用新的 proc 对编辑进行子类化,一切都很好。

但有时我会使用默认 proc 进行编辑,但我会使用一些逻辑来处理输入,例如:

bool isValid = true;
for(auto i(0); i != strlen(myEditBuffer); i++){
     if(!isalpha(myEditBuffer[i]){
          isValid = false;
          break;
     }
}

所以如你所见,我从编辑中得到了全部内容,并使用逻辑来决定它是否有效输入。

  • 在这种情况下,我最关心的是:哪个是最好的子类或使用逻辑处理输入。我的意思是性能和速度。

【问题讨论】:

    标签: c++ oop logic subclass


    【解决方案1】:

    我的意思是性能,速度。

    那时,您真的可能成为过早优化的受害者。除非您将应用程序的瓶颈定位为逻辑中的 for 循环,否则您是在错误的地方寻找效率提升。

    一切都与可读性维护有关。

    您应该考虑哪种方法更适合您的代码读者(将来可能是您!)。具有高可读性的代码确实也使维护更容易,因为下一个人会更容易理解发生了什么。

    子类和句柄逻辑哪个更好?

    您的选择。想想什么更适合您的应用程序,然后去做。

    例如,如果应用程序使用多种编辑器(一种用于字母数字输入,一种用于数字输入,一种用于仅接受字母,一种用于仅接受特殊字符,等等),那么具有一个类 Editor 和几个子类 alphanumericalEditor、numericEditor 等,其中每个子类都将从 Editor 继承。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-17
      • 2013-11-04
      • 2012-05-04
      • 1970-01-01
      • 2012-09-02
      • 1970-01-01
      相关资源
      最近更新 更多