0

MVP または MVC の設計パターンに従うことに問題がある (どちらにも当てはまる)。モデルレイヤーからユーザー入力をきれいに求める方法がわかりませんか? モデル内の特定の値によっては、プロセスの途中でユーザーに入力を求める必要がある場合があります。

たとえば、架空の PO エントリ プロセスを取り上げます。ユーザーがビューのボタンを押した後、ビューから PO の詳細を渡してプレゼンターを呼び出すとします。次に、プレゼンターはモデルを呼び出して新しい PO を検証し、PO のコレクションに挿入します。モデルの検証チェックの 1 つは、同じアイテムで別の PO がまだ入力されていないことを確認することです。所有している場合、アプリは PO が重複していないことを確認するようユーザーに求める必要があります。アプリは現在、モデルの奥深くにあります。ビューに戻ってオペレーター入力を取得し、中断したモデル コードに戻って PO エントリ プロセスを終了するにはどうすればよいですか?

4

2 に答える 2

0

最初にプレゼンターについて読んだ論文では、プレゼンターはモデルとビューに依存しており、モデルとビューの両方からイベントを購読していることが示唆されていました。
これは、処理を続行できない時点でモデルからイベントを発生させることができることを意味します。プレゼンターは、ビューで何らかのメソッドを呼び出すことにより、モデルからのイベントを処理します (ユーザーにプロンプ​​トを表示します)。モデルのメソッドからの戻り値は、モデルに返されます (.NET で使用される EventArguments サブクラスのようなイベントへの入出力パラメーター)。

于 2009-06-17T00:43:41.133 に答える
0

モデルと UI パターンの他のコンポーネントとの間の何らかの形式の通知相互作用を調べたい場合があります。

Martin Fowler がここに書いています

モデルに深く入り込み、ユーザー入力を取得してからモデルに戻る限り、そうしないでください。コントローラーはモデルの変更を担当し、モデルを変更する前に検証を行う必要があります。これには、更新コードから検証を分離する必要がある場合があります。

于 2009-06-17T04:59:47.833 に答える