以下方法在抽象基类中实现,该基类由许多子类扩展:
public final void doSomething() {
if( hasBehavior1() ) {
// special behavior
}
if( hasBehavior2() ) {
// special behavior
}
// do other things
}
protected abstract boolean hasBehavior1();
protected abstract boolean hasBehavior2();
对于特殊行为
的情况,我应该如何命名这些方法hasBehaviorX()
特殊行为太容易使用不同的实现模式,如strategy pattern,所以我真的在这里寻找一些有用的命名约定。
答案 0 :(得分:0)
检查正确性
isCorrect()
忽略错误
isErrorIgnored()
用于加密数据
isEncrypted()
答案 1 :(得分:0)
考虑编写无操作方法:
protected boolean doBehavior1() {}
protected boolean doBehavior2() {}
根据需要在子类中实现。这样,您可以将处理推迟到子类,而无需询问这些子类是否需要这样做。
答案 2 :(得分:0)
我找到了一种方法来表达特殊行为,通过使用现有渐进形式的动词的布尔成员的java约定来表达特殊行为:
isEncrypting()
isIgnoringError()
isCheckingForCorrectness()