MVCがデスクトップアプリでもウェブアプリでも同じように役に立たない理由はありますか?
ASP.NET MVCディレクトリツリーをデスクトップアプリとして実装可能にするには、何が必要ですか?
MVCがデスクトップアプリでもウェブアプリでも同じように役に立たない理由はありますか?
ASP.NET MVCディレクトリツリーをデスクトップアプリとして実装可能にするには、何が必要ですか?
私は常にMVCという用語をn層アプリケーションと同じだと思っていました。ここで間違っている場合は訂正してください。
私が開発するとき、私は常に(他の指示がない限り)アプリケーションでも次のモデル/構造を使用します。
GUI(Web、Winform、その他)->ビジネスロジック->データ層->また、基盤となる「モデル」
...これは一種のMVCです-そうです、デスクトップアプリにも役立ちます。これの主な利点は、同じコードに基づいてWeb、Win、およびモバイル(++)アプリケーションを開発できることです。
実行できるもう1つのことは、データ/ビジネスレイヤーをWebサービスとして作成することです...
このアプローチはSOAと見なされると思います。
編集:注として、4つのレベルのアプリケーションは別々のプロジェクトとして作成されます-次に、プロジェクト、DLL、またはGAC(または好きな場所.....)からの参照を追加するために使用されます:)したがって、ディレクトリ構造は必要ありません。
うーん...まあ、あなたのビューは何でもレンダリングすることができます... HTML、XMLなど。では、なぜXAMLではないのですか?WPFまたはSilverlightアプリをMVCフレームワークでこのように動作させることができるかどうか、つまり、Webサーバーを実行する必要がないかどうか疑問に思います。
デスクトップアプリでMVCパターンを使用することを妨げるものは何もありません。実際、Webが登場する前から、デスクトップで使用されてきました。
MVCは、MVCパターンを使用して関心の分離を互いに分離する方法を表す「ModelViewController」の略です。
デスクトップでASP.NETMVCを使用する限り、いくつかの問題があります。一つには、それはHTTPリクエストとレスポンスに依存しています。要求をリッスンして応答を送信するには、アプリケーションアーキテクチャの一部としてサーバーレイヤーが必要になります。次に、ASP.NET MVCビューは、実際にはWebブラウザーによって解釈されることを意図した単純なHTMLテキストファイルです。したがって、GUIフロントエンドとしてHTMLレンダリングコンポーネントが必要になります。CSSレンダリングエンジンとJavaScriptインタープリターも必要になるでしょう。
基本的には、フロントエンドとして専用のブラウザを実行し、バックエンドとしてローカルWebサーバーを実行するだけです。
すでに多くの優れたMVCフレームワークがあるため、実際にはそれほど必要はありません。MVP(Model View Presenter)やMVVM(Model-View-View Model)のような密接に関連したパターンもあります。たとえば、多くのWPF(Windows Presentation Framework)アプリはMVVMです。