哪个子类或逻辑更好?

时间:2018-11-13 13:26:12

标签: c++ oop logic subclass

假设我有一个编辑框,在MFC或Win32或...上都没有关系

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

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

但是有时我使用带有默认proc的编辑,但是我使用一些逻辑来处理输入,例如:

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

因此,如上所示,我从编辑中获得了全部内容,并使用逻辑来确定其是否有效。

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

1 个答案:

答案 0 :(得分:1)

  

我的意思是性能,速度。

到那时,您实际上可能已经成为过早优化的受害者。除非您确定应用程序的瓶颈是例如逻辑中的for循环,否则您将在错误的位置寻找效率提高。

这与可读性维护有关。

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

  

哪个是更好的子类或处理逻辑?

您的选择。考虑什么更适合您的应用程序并继续努力。

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