MVP で単純なログイン ケースをどのように実装できるのだろうか。私の MVP フレームワークでは、ビューからのみイベントを発生させることができます。プレゼンターからイベントを発生させることはできません。これが良いことか悪いことかはわかりません。それには利点がありますが、単純なケースは追加の間接化で爆破されます.
したがって、単純なログイン シナリオを実装する場合は、次のようになります。
- ログインプレゼンター
- ログインビュー
- ログインモデル
では、ユーザーがログイン フォームに入力してログイン ボタンをクリックするとどうなるでしょうか。
- ビューは「ログインがクリックされました」というイベントを発生させます
- プレゼンターはそのイベントをリッスンし、そのモデルを使用してログインを行います
- ログインが成功した場合は、ビューを再度呼び出して、ログインが成功したことを通知する必要があります。
- ビューは別のイベント「ログイン成功」を発生させます。
- プレゼンターと他のプレゼンターは別のビューを表示し、ログイン ウィンドウを閉じます。
私の観点からすると、イベントを成功させるためのビュー経由のステップは多すぎます...
フレームワークが間違っていて、プレゼンターからイベントを発生させないのでしょうか、それともこれは MVP の必然的な悪ですか?