問題タブ [mvp]

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.

0 投票する
4 に答える
5987 参照

c# - MVPと複数のユーザーコントロール

MVPパターンを使用しようとしていますが、設計上の問題が発生しています。私はいくつかのUserControlsを持つアプリケーションを開発しています。UserControl自体は互いに関係がなく、実際のモデルのサブセットのみを表します。私が読んだことから、人々はあなたがビューごとに1つのプレゼンターを使うべきだと言う傾向があります。これは理にかなっているようですが、30個のUserControlがある場合、本当に30個のプレゼンターが必要ですか?反対に、「アプリケーション」ビュー全体を表す1つのプレゼンターと1つのビューがある場合、ビューとプレゼンターのインターフェイスが肥大化します。次に、各ビューは、それとは関係のないメソッドを実装する必要があります。私の質問は、複数のUserControlを処理するためのより良い方法はありますか、それともビューごとに1つのプレゼンターを作成する必要がありますか?

0 投票する
1 に答える
654 参照

.net - デスクトップの mono アプリと MVC/MVP フレームワーク

初めての mono アプリ用の MVC/MVP (できれば mvp) フレームワークを探しています。それほど多くはないようですが、次のことがわかりました。

http://www.mvcsharp.org/ http://desktoprails.osl.ull.es/doku.php

私はしばらく両方を調べてきましたが、MVC# は私が望むものに近いようです。

問題は、MVC# が .net プロジェクトのようであり、(デスクトップ レールとは対照的に) モノ用に特別に設計されていないため、モノでどのように動作するか 100% 確信が持てないことです。また、これは Microsoft Public License (MsPL) の下にあり、そのライセンスが、使用しようとしている他のコンポーネント (gpl/mit/apache/etc) とどの程度うまく機能するかわかりません。

したがって、これらのフレームワークのいずれかを mono で使用した経験があり、これらの質問に答えることができる人がいれば、フィードバックをいただければ幸いです。

0 投票する
5 に答える
3031 参照

mvp - (MVP パターン) Presenter から View にエラー メッセージを転送する方法は?

ユーザーが記事番号を検索できるメソッドがあり、データベースで利用可能な場合、記事番号はBindingListにバインドされます。ここで、記事がデータベースで利用できないかどうかをユーザーに知らせたいと思います。どうすればそれを正しい方法で行うことができますか?

メッセージerrorMessageをインターフェースメソッドに渡すだけですか?

プレゼンター:

意見:

同じようにしますか?

0 投票する
5 に答える
8722 参照

asp.net - ASP.net Model View Presenter は時間の価値がありますか?

私は今週末にASP.net MVPパターンについて読んでいます.MVPパターンでそれを行うと、最も単純なタスクでさえ多大な労力を費やすように思えます.より大きなプロジェクトで見返りが得られるようですが、 MVPに続きます。ASP.net MVC でプロジェクトを実行しないのはなぜですか?

私が MVP パターンを見ている理由は、すべての ASP.net Webform プロジェクトで、Web 上に多くのサーバー コントロールがある場合、イベント処理のためだけにコード ビハインドに多くのコードがあることに気付いたからです。フォームなので、それを減らしてMVPパターンに出くわす方法を探していました。

MVP パターンに従うこと、または単に ASP.net MVC に切り替えることに努力する価値はありますか?

0 投票する
1 に答える
1428 参照

vb.net - ユニットテストのMVP実装のベストプラクティスの例(VB.Net)

誰かが私を使用して完全なシナリオに向けることができますか

MSTest、vb.net、モックありまたはなし、MVP(監視コントローラー)

ありがとう

0 投票する
1 に答える
179 参照

interface - FxCop + MVP:「プロパティは書き込み専用であってはなりません」

MVP パターンを実装していて、次のようなビュー インターフェイスがあるとします。

プレゼンターがビューからこの文字列を取得する必要がある理由はないので、このエラーを無視しても問題ありませんか?

0 投票する
3 に答える
2550 参照

.net - WinFormsを使用したMVPでの非同期呼び出しのベストプラクティス

私はWinFormsプロジェクトでModel-View-Presenterパターンを使用していますが、(多くの中で)1つの問題は、フォームがプレゼンターに何かをするように指示し、プレゼンターがそれを実行している間、反応しない場合です。幸いなことに、私のプロジェクトでは、すべてのプレゼンター呼び出しを非同期にすることに問題はありません。問題は、それをどのように正確に行うかです。

各プレゼンターの呼び出しは、新しいスレッドの作成でラップする必要がありますか?*

ここでのベストプラクティスは何ですか?ユーザーが[実行中の操作を中止する]ボタンを押した場合はどうなりますか?どうすれば優雅に中絶できますか?

。*現実的には、スレッドの作成をWinFormに配置するのではなく、プレゼンターで何らかのプロキシを使用してこれを実行します。

0 投票する
2 に答える
1953 参照

user-interface - 大きくなりすぎたMVPインターフェイスパターンでプレゼンターを分割するための良い方法は何ですか?

最近よくある問題の1つは、プレゼンターのクラスが大きくなりすぎるという問題です。通常、私はビートをスキップすることなく、通常の大規模なクラスを切り刻むことができます。ただし、プレゼンターは、コードを理解しにくくすることなく、整理するのが少し難しい場合があります。

特に、ページがCRUD指向のコントロールでいっぱいになり始めたとき。コントロールを分割することもありますが、他のコントロールの影響を受ける場合、調整ロジックはそれ自体が複雑です。リストまたはグリッドデータの取得を分割することもありますが、同様の落とし穴がある場合もあります。

プレゼンターからリファクタリングするテクニック、経験則、または一般的な領域はありますか?

0 投票する
4 に答える
11168 参照

wpf - WPF の複合ガイダンス: MVVM と MVP

私は混乱しています。多分あなたは私を助けることができます:)

私は CAG のガイダンスに従ってきましたが、MVP パターンが私にとって非常に自然であることがわかりました。UI 対応のモデル (例: INotifyPropertyChanged を実装) があるとします。プレゼンターを使用してこのモデルをビューにバインドし (プレゼンターはビューのインターフェイスを認識します)、コード ビハインドを可能な限り小さく保ち、バインディングのみを処理します (モデルおよびコマンド) プロパティ (またはメソッド) または ICommand を持たないコントロールのイベント。この場合は、すぐにプレゼンターに委任されます。

  1. しばらくして、MVVM パターンを発見しましたが、これまでのところ、私にはわかりません。私のアプローチでわかる限り、モデルが UI 対応でない場合にのみ MVVM を使用します。しかし、プレゼンターを維持して新しいモデルを使用する方が合理的でしょうか?私はこの種の使用法で何を失うのか理解できません. 私は何かが欠けていることを知っていますが、それは何ですか:)。

  2. また、ビューが汎用的で、多くの種類のモデル (PropertyGrid など) を処理できる場合も同様です。ViewModel は DataTemplate と一緒に使用することをお勧めしますが、この場合、モデル内のエンティティごとにテンプレートを作成することはできず、実行時に調査する必要があるだけです。何をお勧めしますか?

  3. Josh Smith がスクリーンキャストでMVVM について話しているのを見ているときに、ViewModel でのモデルの再公開は DRY に違反していると感じました (繰り返さないでください)。それは本当に避けられないのでしょうか? ADO.Net 動的データ メタデータ クラスが最近獲得している炎と比較して、彼がそれについて議論していないことは私を驚かせます。

それが十分に明確だったことを願っています

ありがとう

アリエル

0 投票する
3 に答える
419 参照

c# - Passive View アーキテクチャの Presenter クラスの依存関係の作成はどこに配置すればよいですか?

プレゼンター クラスから新しいドメイン クラスをリファクタリングしましたが、インスタンス化する場所がわかりません。

これは、メンテナンスが不十分なレガシー プロジェクトで進行中の大規模なリファクタリング作業の一部です。

プレゼンターは現在、ビューの OnLoad イベントによって作成されており、ビューはコンストラクターのパラメーターとして渡されます。プレゼンターのすべてのパブリック メソッドはパラメーターなしで、void を返します。これらは、ビューのパブリック プロパティを使用してビューと通信します。

基本的に控えめな形式であるビューは、すべての点でプレゼンターに完全に依存しています。

これは典型的な Passive View のパターンであり、私はそれを守り続けたいと思っています。それは私のジレンマに私をもたらします。プレゼンターが使用する新しいドメイン オブジェクトのインスタンスを作成する必要があります。

  • コンストラクターを介して渡すと、ビューはそれを作成する必要があり、不要な依存関係が得られます。
  • プレゼンター内のどこかに作成すると、単体テストでモック オブジェクトに置き換えることができません。
  • プレゼンターのパブリック プロパティにすると、それが使用されるプレゼンター メソッドに作成順序の依存関係が導入されますが、どの外部クラスがそれを作成する責任を負うのかまだ解決していません。

現在、依存性注入フレームワークは使用していません。将来的に使用することに興味がありますが、サードパーティのフレームワークをミックスに導入するには、ソースコードはまだ脆弱です。

私はどんな提案にもオープンです。