問題タブ [presenter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - Web Client Software Factory (WCSF) と Smart Client Software Factory (SCSF) のプレゼンターはどのように共有できますか?
Web Client Software Factory (WCSF) と Smart Client Software Factory (SCSF) はどちらも MVP パターンを使用します。
M -モデルを共有できます。
V -View は、両方とも異なるプラットフォーム (デスクトップ/Web) 上にあるため、異なる必要があります。
P- Presenter を共有できるか、それとも両方をまったく同じにできるか、どのように共有できるかを知りたいです。
c# - 派生インターフェイス メンバーを持つ派生インターフェイス
IViewBase (すべてのビューが実装する) と IPresenterBase (すべてのプレゼンターが実装する) の 2 つの基本インターフェイスがあります。
次に、IPresenterBase から派生した新しいインターフェイス ILogPresenter と、IViewBase から派生した ILogView を作成しました。
ILogPresenter を実装するクラスを作成すると、
エラーが発生します:
「LogPresenter」はインターフェイス メンバー「IPresenterBase.View」を実装していません。「LogPresenter.View」は「Views.IViewBase」の一致する戻り値の型を持たないため、「IPresenterBase.View」を実装できません。
LogPresenter.View の戻り値の型を、IViewBase から派生した ILogView に設定できませんか? IViewBase から派生した別の IView で ILogPresenter を実装したいと思います。
.net - ASP.NET Model-View-Presenter と List と Details
Model-View-Presenter で、次のようなページを実行するための正しいパターンは何ですか: a)
アイテムのリストを参照するためのグリッドを含む
b) 単一のアイテムを編集するための代替モード
2 つの asp:panels を切り替えている可能性があります。
プレゼンターを 2 種類のプレゼンテーションができるほど賢くするだけですか? 発表者を 2 人にしますか?
私はこのパターンに不慣れで、正しくやりたいと思っています。この機能を 2 つのページで行う方法を理解しています。ブラウズと詳細が同じページに存在する場合、どのような慣行が受け入れられているのかわかりません。
c# - C#ビュー固有の情報をどこに置くのですか?
asp.net Web フォーム全体に存在するコードの重複を削減しようとしています。これは、データベースからロードされたオブジェクトの例です。
ここで、このオブジェクトからいくつかの異なる asp.net ページ (複数のアパートメントを含むリスト、詳細ビューなど) でビューを作成します。過去に私が行ったことは、Apartment クラスをラップする別のクラスを作成することでした。このようなもの...
ご覧のとおり、通常はデータの文字列表現を作成しているだけです。ApartmentView クラスで Apartment クラスを拡張することを検討しましたが、「Rent」などのプロパティが重複しているため、そうしませんでした。私は、人々が通常この状況にどのように対処するのか疑問に思っています。これは正しい命名規則ですか?
flash - Actionscript 2でステージを透明にしますか?
基本的にシェルswfであるビルド構造が与えられており、これに完全にアクセスでき、Articulate、Presenter、Quizmaker、およびEngageからswfコンテンツが読み込まれます。
残念ながら、上記のすべてでエクスポート時に透明な背景オプションを使用することはできません。そのため、それについて間違っていることが証明されるか、出力swfsに透明なステージ/背景を設定する方法を説明したいと思います。
私のシェルswfは、ロードされるとそれらのswfにアクセスできます...したがって、必要なことは何でも行う場所だと思います。
乾杯、d
wpf - WPFViewModelがアクティブなプレゼンターではありません
いくつかの関連オブジェクト(ノードとライン(、これらのVMをビューに表示(同期)してオブジェクト接続を維持する方法)で構成されるViewModelがあります。DataTemplateを使用してモデルをビューにマップしますが、各オブジェクトは同期されます(強力なバインディングを使用して)関連するオブジェクトにリンクしますが、このDataTemplateで生成されたUI要素をリンク(および同期)するにはどうすればよいですか?ここでは、別の観点から問題を説明します: ビューモデルとビューの同期
mvp - タブ付きの Winforms を備えた Model View Presenter では、いくつのプレゼンターを使用する必要がありますか?
ビジネス エンティティに関連するタブを含むフォームがあります。たとえば、個人には経歴データ、住所データなどがあります。各タブは個人データのカテゴリの入力/編集を処理し、各タブは個別に保存できます。すべてのタブに 1 人のプレゼンターを使用する必要がありますか、それともタブごとに 1 人のプレゼンターを使用する必要がありますか? (選択したデータのカテゴリに基づいて) 他のタブに移動できるメイン タブがある場合もあります。
gwt - GWT & MVP - 複雑なオブジェクトを表示/編集するためのベスト プラクティスは?
私が学んだすべての GWT / MVP の例は単純すぎて、少し複雑なモデル オブジェクトの表示と処理に関するベスト プラクティスを明確に示すことができません。
たとえば、ほとんどの例は、クリック ハンドラーをビューのいくつかの TextBoxes にアタッチするプレゼンターのようなものです...保存がクリックされると、プレゼンターの save() が呼び出され、更新された値を取得するだけで済みます。 MVP スタイル。しかし、それはそれほど現実的ではありません。
たとえば、次のようにします。
PresenterX - 「モデル」オブジェクトを取得します。さまざまなプリミティブの数が不明なオブジェクトなどを考えてみましょう
ViewX - モデル オブジェクトをテーブルに表示し、編集/再保存できるようにする必要があります。
...とても基本的なことのように聞こえます。しかし、表示する必要があるモデル オブジェクトのフィールドの量はわかりません。そのため、行/列の動的数に関連している可能性があります。おそらくテーブルには問題ありません...しかし、プレゼンターはこれをビューのテーブルにどのように与えるべきですか? ビューが理解するモデルオブジェクトとして、またはビューが本質的に理解する必要がある一連のリストに分割します。
また、特定のフィールドが編集可能である可能性がありますが、モデル オブジェクトを取得するまでそのフィールドは不明です (たとえば、モデル内の何かが編集可能なフィールドを決定します)。おそらくプレゼンターですが、MVP の方法でビューに反映するにはどうすればよいでしょうか?
最後に、ビューに「保存」ボタンがあるとしましょう...変更されたテーブル内のすべての行を把握するのは誰の仕事ですか?
ビューがモデルをもっと理解する必要があるか、プレゼンターがビューをもっと理解する必要があるように思えます-どちらも素晴らしいMVPではありません:( ...または、おそらくいくつかの中間オブジェクトが必要です。
この種のもの (Editors/RequestFactory など) には、より優れた/新しい便利な方法があることは知っていますが、上記のシナリオに関する提案を探しています。
winforms - 複数のMVPプレゼンター:情報を伝達および共有する方法は?
私はMVPパターンに従ってWinformsMDIアプリケーションを設計していますが、アプリケーションのさまざまな部分間の通信に関連するいくつかの問題で立ち往生しています。
このアプリケーションの簡単な図を次に示します。1-左側にツリービュー2-中央に描画コンポーネント3-右側に「プロパティ」フォーム。これらの3つの部分は、MVPトライアドで管理されます(実際にはそうではありませんが、モデルはすべてのトライアドに共通です)
ツリービューのノードをクリックすると、図面コンポーネントで対応する選択されたオブジェクトの図面が表示され、プロパティフォームでこの選択されたオブジェクトに対応するいくつかのプロパティが表示されます。
私の基本的な質問は次のとおりです。a)「選択したオブジェクト」の情報をどこに保存するか。b)「選択したオブジェクト」が変更されたことを図面コンポーネントとプロパティフォームに警告するにはどうすればよいですか?
私はいくつかの解決策を想像し始めましたが、私はかなり不幸です。
モデルに「選択したオブジェクト」を入れて、オブザーバーの同期を実行することは購入しません。「選択したオブジェクト」はモデルに属していません
したがって、この情報をプレゼンターに格納すると思います。Treeviewプレゼンターに「選択したオブジェクト」を配置すると、描画コンポーネントのプレゼンターとプロパティフォームのプレゼンターの両方が、ツリービュープレゼンターの参照を保持して取得する必要があるようです。この情報。
それはプレゼンター間のいくつかの結合を作成します、そして私も好きではありません。
だから私は他のアイデアやコメントを探しています。御時間ありがとうございます。