MVPはMVCの派生物であり、モデルとビューが緩やかにまたは完全に分離されており、Presenterはコントローラを置き換え、ビューとモデルの間のブリッジとして機能します。このパターンは、ウェブアプリケーションの従来のMVCよりも適切です(これが本当であるかどうかはこの質問の対象ではありませんので、その方向に進むことを控えてください)。WebアプリケーションでのMVPの実装
私の問題は、パッシブビューを使用してPHPでさまざまなMVP作品を実装することです。ここに私の現在の流れがあります:
- PHPスクリプトは、オートローダとルータを設定します。私にとって、これは、存在していたビューが何らかのイベントをサーバーに送信したことを意味します。
- ルータは、要求に基づいてどのプレゼンターを使用すべきかを決定します。
- ここは龍です。プレゼンターは、ビューとモデルの間のブリッジとして機能し、簡単にテストできるように、ビューとモデルを依存関係として使用する必要があります。つまり、プレゼンターが作成される前にどのモデルとビューを使用するべきかを知る必要があります。
プレゼンターは、どのモデルとどのビューが必要なのかを知っているクラスのようですが、どのようにプレゼンターからそのロジックを移動できますか?私は、使用するジェネリックパターンが工場であることを理解しています。この場合、実装する方法を理解できていないようです。
おそらく私はこれをすべて間違っていると思います。たぶん私は伸びが長すぎてコーディングしていて、心の歪みを経験しているかもしれません。なぜこの問題を解決するのか理解できないような理由にかかわらず、私はどんな指導も受け入れます。