Java 强制执行派生实现来做一些事情,最佳实践是什么?
我甚至不确定这个问题是否有一个合适的答案,但值得一问。。。 我有一个抽象类(servlet),它使用processResults方法(抽象)和onResultsReceived(非抽象)从一些客户机获取数据 我正在做一些对于processData方法的所有实现都是必需的普通事情。如果明天有人要添加dataServlet的新实现,我想确定他会在processData实现中调用onDataReceived。Java 强制执行派生实现来做一些事情,最佳实践是什么?,java,oop,design-patterns,Java,Oop,Design Patterns,我甚至不确定这个问题是否有一个合适的答案,但值得一问。。。 我有一个抽象类(servlet),它使用processResults方法(抽象)和onResultsReceived(非抽象)从一些客户机获取数据 我正在做一些对于processData方法的所有实现都是必需的普通事情。如果明天有人要添加dataServlet的新实现,我想确定他会在processData实现中调用onDataReceived。 有没有什么方法,已知的设计可以做到这一点 >听起来好像你应该考虑它,因为它强制执行一个特定的
有没有什么方法,已知的设计可以做到这一点 >听起来好像你应该考虑它,因为它强制执行一个特定的执行顺序,而不需要派生类的作者调用它。 模式是:
abstract class Base {
public doActivity() {
doCommonStuff();
doSpecificStuff();
doOtherCommonStuff();
doOtherSpecificStuff();
}
protected abstract void doSpecificStuff();
protected abstract void doOtherSpecificStuff();
private final void doCommonStuff() { ... }
private final void doOtherCommonStuff() { ... }
}
<>听起来好像你应该考虑它,因为它强制执行一个特定的执行顺序,而不需要派生类的作者调用它。 模式是:
abstract class Base {
public doActivity() {
doCommonStuff();
doSpecificStuff();
doOtherCommonStuff();
doOtherSpecificStuff();
}
protected abstract void doSpecificStuff();
protected abstract void doOtherSpecificStuff();
private final void doCommonStuff() { ... }
private final void doOtherCommonStuff() { ... }
}
对,忘了。非常感谢。对,忘了。非常感谢。