ホームページ >Java >&#&チュートリアル >Observer パターンを使用して Java でカスタム イベントを作成する方法
Java でカスタム イベントを作成する: オブザーバー パターンを利用する
Java アプリケーションを開発する場合、多くの場合、異なるオブジェクト間の通信を実装する必要があります。信頼性が高く、柔軟な対応が可能です。イベントとリスナーは、この目的のための堅牢なソリューションを提供します。
次のシナリオを考えてみましょう:
When event "object 1 say 'hello'" happens, then object 2 responds to that event by saying "hello".
このようなイベント駆動型のインタラクションを作成するには、Observer パターンが便利です。オブザーバー パターンは、オブジェクト間の 1 対多の関係を定義します。この関係では、「イベント」が発生したときに、「オブザーバブル」 (イニシエーター) が登録されているすべての「オブザーバー」 (リスナーまたはレスポンダー) に通知します。
これを実装するにはパターンの場合は、次の手順に従います:
イベントを定義します:イベントを表すインターフェイスを作成します。この場合、次のようになります。
interface HelloEvent { void someoneSaidHello(); }
Observable の作成: このクラスは、イベントのサブスクリプションを管理し、イベントの発生時にオブザーバーに通知します。 「イニシエーター」という名前を付けることができます:
class Initiater { private List<HelloEventListener> listeners = new ArrayList<>(); public void addListener(HelloEventListener toAdd) { listeners.add(toAdd); } public void sayHello() { System.out.println("Hello!!"); for (HelloEventListener hl: listeners) hl.someoneSaidHello(); } }
オブザーバーの作成: このクラスはイベント インターフェイスを実装し、イベントが発生したときにトリガーされる動作を定義します。が発生します。以下はレスポンダーのサンプルです:
class Responder implements HelloEventListener { @Override public void someoneSaidHello() { System.out.println("Hello there..."); } }
オブザーバーの登録: 「addListener」メソッドを使用してオブザーバーをオブザーバブルに接続します:
Initiater initiater = new Initiater(); Responder responder = new Responder(); initiater.addListener(responder);
をトリガーしますイベント: オブザーバブルは、特定のメソッド (例: "sayHello") を呼び出すことでイベントをトリガーします。
initiater.sayHello(); // Output: "Hello!!!" "Hello there..."
これらの手順に従うと、 Observer パターンを使用した Java のカスタム イベント メカニズム。オブジェクトが分離された拡張可能な方法で通信し、特定のイベントに反応できるようにします。
以上がObserver パターンを使用して Java でカスタム イベントを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。