基本クラスとイベントリスナapprochを使用して、基本クラスとイベントリスナインタフェースを使用してアプリケーションを開発しています。基本クラスは、任意の操作を呼び出した後、適切なイベントリスナーメソッドを呼び出します。コードに続いて、私の設計を示していますjavaのイベントリスナー
import java.util.EventListener;
public interface MyEventListener extends EventListener
{
public void preOperation();
public void postOperation();
}
それから私は、次のようにこのインタフェースを実装します。
class MyEventListenerImpl implements MyEventListener
{
@Override
public void postOperation()
{
System.out.println("Do previous operation");
}
@Override
public void preOperation()
{
System.out.println("Do post operation");
}
}
その後、私は、次のようにベースクラスを記述します。私は私の実装を作成これらの作品の後
abstract class Base
{
private MyEventListener eventListener; /* this member injected */
public abstract void operation_1();
public void doOperation_1()
{
eventListener.preOperation(); /* call listener before invoking main operation_1 implementation */
operation_1(); /* call main operation_1 implementation */
eventListener.postOperation(); /* call listener after invoking main operation_1 implementation */
}
}
の基本クラスを実装し、operation_1メソッドを実装します。 は私がたjava.util.EventListenerマーカーインタフェースによって、このアプローチを行うが、設計した後、私の問題は、別のクラスを参照してください。java.utilのパッケージ内でEventListenerProxy
- 抽象クラスを。
- EventListenerSupport org.apache.commons.lang3.eventパッケージの汎用クラスです。
私はこれらのクラスを使用することは決してありません。 。私のデザインについて
- あなたのご意見(良いか悪いか)
- イベントリスナーアプローチのためのベストプラクティスを(クラスまたは第三者のフレームワークとして)
マイリスナーはサンプルであり、実際のリスナーメソッドにはパラメータがあります。 – MJM
あなたの設計をどのような問題が解決しようとしているのか、私たちにあなたの実際の設計を示すことなく伝えなくても、あなたの設計について議論するようお願いしますか? –
イベントリスナーのデザインについては、すべてのクラスとすべてのインターフェイスではなく、私の質問には大したものではないため、議論します。 – MJM