私は大きくて非常に洗練されたシステムとなるアーキテクチャを研究しています。私たちのv1.0の目標は、最新のn層アーキテクチャーを備えた単一のアプリケーションを構築することです。 SilverlightでUIを構築する可能性が高く、MVVMパターンを使用する可能性があります。MVVM、SOA、AJAX(oh my?)
しかし、将来的にはアプリケーションロジックの一部をサービスとして提供したいと考えています(付加価値ASPXアプリケーション、カスタム拡張、iPhone/Windows Phoneアプリケーションなどをサポートするため)。 (理想的には、私たちが使っているUI技術は、元のアプリケーションと同じサーバー側のロジックを利用します)
私は、MVFとWPFとSilverlightとの併用について読んできました。素晴らしいですが、ViewModelクラスはクライアント側で、プラットフォーム固有のもの(たとえば、.NET/Silverlightで書かれています)のように見えます。
大規模なSilverlight/MVVMアプリケーションをv1として構築し、次にv2で従来のaspx Webサイトとして機能のサブセットを公開したいとします。 JavaScriptでViewModelをすべて書き直さなければならないのですか? MVVMのパターンを構築するためのガイダンスは、サーバーサイドのコードで最も重要なロジックをすべて保持するための目安ですか?
ViewModelにはSilverlight(またはView)固有のものは何もありませんが、C#コードなので、ViewModelsは通常クライアント側のコードです(正しいのですか?)。 aspxアプリケーションの場合、私はC#コードのクライアントサイドを実行できませんでした(ブラウザでは "クライアントサイド"を意味します)。パターンのその部分が正しいことを確認したい。 ViewModelがASPXのサーバー側であるようにパターンを解釈できますが、次にajaxブラウザコントロールがそれらと通信する方法を検討する必要があります。 – JMarsch
ビューモデルはサーバー側ですが、ビューモデルのデータを使用してビュー(ユーザーに表示されるマークアップ)が生成されます。 ** ASP.NET **を使用している場合(おそらくあなたのaspxで.NETをまったく使用していないのですか?)アプリケーションでは、MVCのパターンを使用して(またはMicrosoftのフレームワークを使用して)、使用されているC#あなたのページを生成する。これと同じパターンを銀色でも使用できます。 –