は、IViewInterfaceで定義されているようにどのコントロールにアクセスするかを知っているプレゼンタに基づいています。例えば、2つのテキストボックスと1つのボタンがフォーム上にある場合は、テキストボックスの2つのプロパティを持つIViewInterfaceを定義し、ボタンのクリックイベントでPresenterに呼び出しを転送すると、プレゼンタはその2つのプロパティにアクセスできます。ものすごく単純。あなたのUIがデータベースのテーブルに基づいて実行時に構築されるかどうか想像してみましょう。データベースに500個のテーブルがあり、それらの500個のテーブル用にCRUDアプリケーションを設計したいとします。データベースのどこかで、UIのレイアウトをどのようにレイアウトするかを定義します。実行時にこれらの500テーブルのUIコントロールを作成する1つのプログラムがあります。このような場合にMVPパターンをどのように適用しますか?winformsのMVPパターンを使用して動的に作成されたUIを持つMVPパターン
答えて
多くの多くのプログラマが、完全に動的なユーザーインターフェイスを試してきました。多くの人が基本的な前提、つまりテーブル - > UIを作ることができると確信していますが、何も実際にはうまくいきませんので、自分のことをやっているほうが良いです。
異なるアプローチがあると思われる場合は、試してみて、それがどのように機能するかを確認する必要があります。
このため、プレゼンターはコントロールをまったく気にする必要はありません。
ビューは、このデータをプロパティとして公開している可能性があります。 500個のUIレイアウトを持つ500個のテーブルがすべて少なくともGridViewのような標準の表示コントロールを使用している場合、GridViewのアクティブな行の "CurrentTableName"と "CurrentRow"のいずれかのプロパティを公開できます。プレゼンターはそれらを受け取り、DTOオブジェクトまたはDMオブジェクトに変換して、ビジネスレイヤーまたはサービスレイヤーに渡すことができます。
この場合、これは可能かもしれません。リサイズでMVPパターンを使用して
私は同様の考えを持っていました。私は自分のIViewがこのような方法を1つだけ持つと考えていました。 リスト
は
真IViewInterfaceで定義されて としてアクセスするための制御どの を知るプレゼンターに を前提としているが、動的なGUIの場合には、あなたはしないでくださいこれらのコントロールを個別にインターフェイスのプロパティとして公開する必要があります。ジェネリックコントロールを共通のプロパティを持つクラスとして定義し、これらのコントロールのリストをビューインターフェイスの単一のプロパティとして公開することができます。
これはこれを行うための1つの方法です。デザインは正確なシナリオに依存します。しかし、一般的に私は動的なGUIがであると言っています。はMVPを導入するための候補であり、逆ではありません。
- 1. winformsのMVC MVPパターンを使用
- 2. SharePoint WebParts MVPパターン
- 3. MVPパターンを使用してWinformsでプロジェクトを構成する方法は?
- 4. MVPパターン:ビューをプレゼンターにマッピング
- 5. MVPパターン - デザイン質問
- 6. GWTウィジェットライブラリとMVPパターン
- 7. WebフォームとDIオブジェクトのインスタンス化を使用したMVPパターン
- 8. WPF MVPパターンとLinq to SQL
- 9. WinFormsで書かれたウィザードのMVC、MVP、またはMVVMパターンを使用していますか?
- 10. MVPパターン。 GWTのTabPanelで複数のビューを使用する
- 11. デスクトップ(WinForms)とWeb(ASP.NET)ソリューションでMVPパターンを適用する最も簡単なアプローチ
- 12. MVP in Winforms
- 13. MVPパターンを使用したオープンソースのASP.NETアプリケーションがありますか
- 14. MVP、Winforms - イベントハンドラまたはデリゲート
- 15. MVPを使用して異なるビューを動的に追加
- 16. MVPパターンを使用する場合、ListViewItemリストはどこに作成しますか?
- 17. WinFormsとUserControlsのコレクションを持つHumble View/MVP
- 18. プレゼンターはMVPパターンでGUIロジックを実行しますか?
- 19. (MVPパターン)エラーメッセージをPresenterからViewに転送する方法は?
- 20. MVCパターンのコントローラーとMVPパターンのプレゼンターの違いは何ですか?
- 21. AndroidアプリのMVPパターンを定義する際の問題
- 22. Prism a(P)のShellPresenterはMVPパターンのように再入力されますか?
- 23. GWT。 MVPのパターン内でイベントハンドラ(eventBus)を登録する場所
- 24. 依存性注入のためにWindsor castleを使用したMVPパターンでの循環参照の問題
- 25. MVPパターンでは、プレゼンターが数値をパーセントにフォーマットしていますか?
- 26. MVPデザインパターンを使用したGoogleアナリティクス
- 27. MVPパターン。どのようにコードの繰り返しを減らすには?
- 28. 複数のフラグメントを持つアクティビティのMVP
- 29. MVPパターンの「表示」とは何ですか?
- 30. GWT MVPパターン(Guiceの-ディスパッチャ)性能も問題
私が質問を投稿するとすぐに-1が得られます。それを続ける – codemnky
私は生地の学習とレーキを続ける限り、評判、ポイント獲得、mvpにラットのお尻を与えません – codemnky
インターネットは素晴らしいです。重要な知識を得るために40年の経験を持つ必要はありません。短期間でこれを得る手段があります。 – codemnky