gpt4 book ai didi

java - 强制派生实现来做某事,最佳实践是什么?

转载 作者:行者123 更新时间:2023-12-01 08:14:17 25 4
gpt4 key购买 nike

我什至不确定这个问题是否有答案\合适的设计,但值得一问......我有一个抽象类(servlet),它使用(其中包括)processResults 方法(抽象)和 onResultsReceived (非抽象)从一些客户端获取数据

public abstract class dataServlet implements HttpServlets {
protected onDataReceived(){//blah blah}
public abstract void processData();
}

在 onDataReceived 方法中,我正在执行一些常见的操作,这些操作对于 processData 方法的所有实现都是必需的。如果明天有人添加 dataServlet 的新实现,我想确保他会在 processData 实现中调用 onDataReceived 。有没有已知的设计方法可以做到这一点?

最佳答案

听起来你应该考虑 template method pattern ,因为它强制执行特定的顺序,而不需要派生类的作者调用东西。

模式是:

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() { ... }
}

关于java - 强制派生实现来做某事,最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14707339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com