Viewへの送信のためにモデルプロパティをフィルタリングするときにInterfaceの代わりにPresentationクラスを使用する理由を教えてください。プレゼンテーションクラスとビューフィルタリングのインターフェイス
0
A
答えて
2
link text私はあなたが次のことを求めている考える:
ビューにプロパティ のサブセットを渡す場合、スコープの知識を制限するために、数があります オプションこれらのうち、一つは含む 中間オブジェクト( 「プレゼンテーションクラス」または 「データ転送オブジェクト」)のモデルと他 から所望の特性をコピーするモデルが インタフェースを実装有し、その通過含みますビューへのインターフェイスは です。
なぜ前者を後者と反対の として使用しますか?
私の答えは、そのインターフェイスを実装するためにモデルにアクセスできないことがあることです。あなたがモデルを不要なインターフェースで汚染したくない場合は、理論的にはすべてのビューに対して異なるインターフェースを持つことができます。
ハイブリッドの代替方法は、アダプタパターンを使用してモデルをラップし、インターフェイスを実装し、モデルにインターフェイス呼び出しを委任するクラスを作成することです。
残りの部分よりも優れているオプションはありません。あなたの状況やスタイルによって異なります。
関連する問題
- 1. インターフェイスの実装とインターフェイスの提供
- 2. プレゼンテーションクラスでRailsビューヘルパーを使用するための推奨される方法
- 3. FireMonkeyとのMDIインターフェイス
- 4. Typescriptのクラスとインターフェイス
- 5. SimulinkとMATLABのインターフェイス
- 6. イテレータのインターフェイスとメソッド
- 7. VBAアプリケーションとのインターフェイス
- 8. MFCとコマンドラインのインターフェイス
- 9. インターフェイスとそのアクセシビリティ
- 10. サービスとアクティビティのインターフェイス
- 11. インターフェイスとクラスのインスタント
- 12. TypeScriptのインターフェイスとクラス
- 13. デフォルトメソッドとのインターフェイスPHP
- 14. Blueooth HC06とPIC18Fとのインターフェイス
- 15. ユニティとC#のクラスとインターフェイス
- 16. LABWINDOWSとdSPACE(MRET)とのインターフェイス
- 17. PHPインターフェイスとfunc_get_args
- 18. インターフェイスとキャスティングリスト
- 19. Delphi - インターフェイスとオーバーロードディレクティブ
- 20. カプセル化とインターフェイス
- 21. タイプアサーションとインターフェイス
- 22. プロパティとインターフェイス
- 23. AutofacとIDisposableインターフェイス
- 24. インターフェイスとファサードデザインパターン
- 25. インターフェイスとゲッター\セッター
- 26. 継承とインターフェイス
- 27. インターフェイスとプロパティ
- 28. サービスとインターフェイス
- 29. 継承とインターフェイス
- 30. Javaインターフェイスとコールバックメソッド
この質問はちょっとしたものです。どのプラットフォームを使用していますか?レール? ASP.NET MVC? MVPの実装ですか?他に何か? – jrista
asp.net mvc .... – zsharp
私はあなたの質問を拡大し、例を提供する必要があると思う...私は本当にあなたの尋ねるものを把握することはできません。 ASP.NET MVCにはコントローラとビューがあり、モデルデータを扱い、レンダリングします....しかし、私はどのプレゼンテーションクラスも知らない。 MVPでは、通常、プレゼンターへの参照を持つインターフェイスを持つビューがあり、ビューのインターフェイスへの参照があります。 – jrista