イベント ドリブン アーキテクチャ (EDA) の設計パターンについてよく読んでいますが、非常に強力に見えますが (あえて美しいと思いましたか?)、次の 2 つの点について混乱しています。 、例外を制御する方法。
Ajax を使用するために公開されたコールバックを設計したいとしましょう。コールバックは、「ユーザー名」と「パスワード」を使用してフロントエンドによって起動され、成功または失敗を示すローカライズされた「リターン コード」を返します。
ユーザーが正常にログインしたら、ログインして管理と電子メールを送信し、セッションを開始するとします。EDA ベースのパターンを使用していた場合、次のようになります。
ユーザー ログイン -> (常にイベントをディスパッチ) -> (ログ、電子メールの送信、セッションの開始がすべて呼び出される)
つまり、ログイン コールバックは、その特定のイベントをリッスンするすべての登録済みクラスを発行する何らかの通知をディスパッチします。私の問題は、オーセンティケーターのペア (ユーザー名、パスワード) が成功したかどうかを誰が確認しているのかということです。ある意味では、これら 3 つのイベントは、認証が正しかった場合にのみ有効です。
したがって、おそらく最初に 1 つのイベントを起動し、成功した場合にのみ他のイベントを起動します。
ユーザーのログイン -> (常にイベントをディスパッチします) -> ユーザーのログインを試みます (成功した場合はイベントをディスパッチします) -> (ログ、電子メールの送信、セッションの開始がすべて呼び出されます)
それが機能している間、私はフィードバックを得る方法を制御できなくなりました. イベントは、「設定して忘れる」一連の思考に従っているように見えます。フロントエンドにコードを返すにはどうすればよいですか? つまり、イベントオブザーバーがサブジェクトにフィードバックを与える方法がわかりません。
これは例外処理に続きます。このシナリオで例外を処理する最善の方法は?
アドバイスをいただければ幸いです。エイドリアン
(おそらく理論的な意味では問題ではありませんが、私はこれを PHP に適用しようとしています)