0

以下方法在抽象基类中实现,该基类由许多子类扩展:

public final void doSomething() {
    if( hasBehavior1() ) {
        // special behavior 
    }

    if( hasBehavior2() ) {
        // special behavior 
    }

    // do other things
}

protected abstract boolean hasBehavior1();
protected abstract boolean hasBehavior2();

hasBehaviorX()对于特殊行为的情况,我应该如何命名这些方法

  • 加密一些数据?
  • 忽略错误?
  • 检查正确性?

特殊行为太容易使用不同的实现模式,比如策略模式,所以我真的在这里寻找一些有用的命名约定。

4

3 回答 3

0

用于检查正确性

isCorrect()

忽略错误

isErrorIgnored()

用于加密数据

isEncrypted()
于 2012-07-31T11:06:15.723 回答
0

考虑改为编写无操作方法:

protected boolean doBehavior1() {}
protected boolean doBehavior2() {}

根据需要在子类中实现。这样,您可以将处理推迟到子类,而无需询问这些子类是否需要这样做。

于 2012-07-31T11:10:46.273 回答
0

我找到了一种表达特殊行为的方法,方法是使用布尔成员的 Java 约定,动词采用目前的渐进形式:

isEncrypting()
isIgnoringError()
isCheckingForCorrectness()
于 2012-09-13T15:32:49.423 回答