次のようなインターフェースがあるとします。
public interface Test {
//Basically life cycle methods
public void beforeStart();
public void start();
public void end();
}
また、すべてのメソッドに対して基本的な実装または空の実装を提供する抽象クラスがあります。
public abstract class TestAdapter implements Test {
//Implementations here
}
を拡張するクライアントがTestAdapter
、1 つまたはすべてのライフサイクル メソッドをオーバーライドできるようにします。私は、各消費者がTestAdapter
クラスを拡張することを義務付けており、TestAdapter
.
しかし、問題は、TestAdapter
ライフサイクルを管理する必要があるPOJOクラスのインスタンスを作成する各消費者ですbeforeStart()
。
私の質問は:
- クライアントがすべてのライフ サイクル メソッドをオーバーライドする場合は問題ありませんが、メソッドのいずれもオーバーライドしない場合は、その特定のライフ サイクル メソッドのデフォルト サービスを実行できるはずであり、作成したユーザーへの参照が必要です。
testAdapter
実装クラスのPOJO 。これを実装するにはどうすればよいですか?? - ご承知のとおり、これはサーブレットのライフサイクルに多少似ています。誰でも私を案内できますか?または、設計が複雑になっていますか?
同じことについてさらに説明が必要な場合はお知らせください。
編集: 注:車輪を再発明しようとしていると思われる場合は、上記の要件の代替案を親切に提案できますか?