タグ付けされた質問 「mvp」

24
MVPとMVCとは何ですか?違いは何ですか?
この投稿を改善してみませんか?この質問に対する詳細な回答を提供してください。これには、引用や、回答が正しい理由の説明が含まれます。詳細が不十分な回答は編集または削除される場合があります。 ユーザーインターフェイスを構築するRAD(ドラッグアンドドロップおよび構成)の方法を超えて検討すると、多くのツールは、Model-View-Controller、Model-View-Presenter、およびModel-View-ViewModelと呼ばれる3つの設計パターンに出くわす可能性が高いと考えています。私の質問には3つの部分があります。 これらのパターンはどのような問題に対処しますか? それらはどのように似ていますか? それらはどう違いますか?

4
MVC、MVP、MVVMの設計パターンのコーディングの違いは何ですか?
「MVC、MVP、MVVMの設計パターンの違いは何ですか」というフレーズを使用してGoogleを検索すると、理論的にはMVC MVPとMVVMの設計パターンの違いを説明するいくつかのURLが得られることがあります。 MVP データコンテキストを介したバインドが不可能な状況で使用します。Windowsフォームはこれの完璧な例です。ビューをモデルから分離するには、プレゼンターが必要です。ビューはプレゼンターに直接バインドできないため、インターフェイス(IView)を介してビューに情報を渡す必要があります。 MVVM データコンテキストによるバインドが可能な状況で使用します。どうして?各ビューのさまざまなIViewインターフェイスが削除され、維持するコードが少なくなります。MVVMが可能な例には、Knockoutを使用したWPFおよびJavaScriptプロジェクトが含まれます。 MVC ビューとプログラムの残りの部分との間の接続が常に利用できるとは限らない(そして、MVVMまたはMVPを効果的に使用できない)状況で使用します。これは、Web APIがクライアントのブラウザーに送信されるデータから分離されている状況を明確に説明しています。MicrosoftのASP.NET MVCは、このような状況を管理するための優れたツールであり、非常に明確なMVCフレームワークを提供します しかし、理論的にはサンプルコードと共にその違いを説明する記事は1つもありません。 これらの3つのデザインパターン(MVC、MVP、MVVM)の違いについてコードと一緒に説明する記事を入手できたら、本当に嬉しいです。 これら3つのデザインパターン(MVC、MVP、MVVM)によって実装された3つの類似したCRUDアプリのソースコードを手に入れたいのですが。コードを確認して、これら3つの設計パターン(MVC、MVP、MVVM)のコードをどのように記述するかを理解できるようにします。 したがって、これらの3つの設計パターン(MVC、MVP、MVVM)でコードがどのように異なるかを説明する記事が存在する場合は、その記事にリダイレクトしてください。

3
WinFormsのモデルビュープレゼンター
WinFormsを使用して、MVPメソッドを初めて実装しようとしています。 各層の機能を理解しようとしています。 私のプログラムには、クリックするとopenfiledialogウィンドウを開くGUIボタンがあります。 したがって、MVPを使用して、GUIはボタンクリックイベントを処理し、presenter.openfile();を呼び出します。 presenter.openfile()内で、ファイルのオープンをモデルレイヤーに委任する必要がありますか、または処理するデータやロジックがないので、リクエストに基づいて単純にopenfiledialogウィンドウを開く必要がありますか? 更新: 私はこれについてさらに支援が必要だと感じたときに報奨金を提供することを決定しました。できれば、以下の特定のポイントに合わせて調整し、状況を把握できるようにします。 さて、MVPについて読んだ後、パッシブビューを実装することにしました。事実上、プレゼンターによって処理されるWinform上の一連のコントロールと、モデルに委任されたタスクを用意します。私の具体的なポイントは以下のとおりです。 Winformが読み込まれると、ツリービューを取得する必要があります。ビューはしたがってpresenter.gettree()などのメソッドを呼び出す必要があると私は思っていますか?これは、モデルに委譲し、ツリービューのデータを取得し、作成して構成し、それをプレゼンターは、ビューに渡され、ビューに単純に割り当てられます。 これはWingridのデータコントロールでも同じですか?私もdatagridviewを持っているのですか? 私のアプリには、同じアセンブリを持つ多数のモデルクラスがあります。また、起動時にロードする必要があるプラグインを備えたプラグインアーキテクチャもサポートしています。ビューは単にプレゼンターメソッドを呼び出し、プラグインをロードしてビューに情報を表示するメソッドを呼び出しますか?その後、どの層がプラグイン参照を制御します。ビューは彼らまたは発表者への参照を保持しますか? ツリービューのノードの色からデータグリッドのサイズなど、ビューはプレゼンテーションに関するすべてのことを処理するべきだと私は思っていますか? それらが私の最大の関心事であると私は思います、そしてこれらの流れがどうあるべきかを理解していれば、私は大丈夫だと思います。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.