2011-07-16 11 views
3

私はSilverlight初心者です。私は新しいプロジェクトを開始しており、MVVMやPRISMなどの既存のパターンを使用したいと考えています。Silverlight MVVM vs Prism

どんなタイプのシナリオでどのパターンが優れているか教えてください。どちらが主にSilverlightで使用されていますか?

答えて

2

PRISMフレームワークは、特に開発がチームにまたがる場合、大規模なモジュラープロジェクトに最適です。モジュールの完全独立した開発を可能にする非常に緩やかな結合を提供し、個別にダウンロードすることができます。またはオンデマンド。

MVVMは完全に別の問題で、ほとんどのフレームワークで使用できます。これは基本的に、ビューがバインドする中間オブジェクトを提供することによって、ビューをバッキングデータから分離するためのパターンです。この分離により、データオブジェクトとビジネスロジックを別々にテストし、多くのコードビハインドでビューを縛らないことができます。

MVVMは、PRISMを含む複数のフレームワークで(またはフレームワークのないプレーンな古いSilverlightを使用して)発生する「最も一般的な」ものです。 PRISMは数桁の学習と実装が必要ですが、大規模なプロジェクトには十分な価値があります。

3

MVVMはパターンです、PRISMはMVVMを実装するために使用できるフレームワークです。 SilverlightとMVVMを使い始めるには、MVVMライトをお勧めします。

1

PRISMはフレームワークであり、MVVMは設計パターンです。したがって、SilverlightアプリケーションでPRISMとMVVMの両方を使用することができます。

2

Prismは、MVVMをはるかに上回るもので、カスタムMVVM実装で自分自身を実装する必要のある多くの機能/基本クラスをすぐに提供します。 Prismは、SLまたはWPFアプリケーション(EventAggregator、ナビゲーションフレームワーク、指揮など)で発生するさまざまな問題/シナリオを解決するための標準的な方法を提供します。

私は他の回答に同意する -

Prismは維持され、大規模なアプリケーションのためにある/多くの開発者によって年間の を進化。

MVVMは、1回ですばやく開発する必要がある軽量アプリケーションに適しています。柔軟性が必要な場合は、独自のMVVMフレームワークを開発したり、使用可能なもの(MVVMライトなど)を使用することもできます。私はこのプロジェクトにMVVMとプリズムを使用 Custom MVVM implementation Vs. PRISM

1

-

はまた、私はプリズムについて尋ねたこの質問を見てみましょう。また、私は単独でコーディングしていた、私は両方が好きだった。私はプロジェクトの概要を把握するのに役立ちました。

プリズムとMVVMは完全に連携して動作します。 PrismのRegion-Managerは、Part内のViewsとController/Microkernelを分割することができました。(Microsofts Unity/Prism-Frameworkの一部ではありませんでした)私は、部品を疎結合するのに役立ちました。さらに多くのものがあります...

私は約40k行のコードを持っていました.Prism FrameworkとMVVMでの作業は、私が費やす時間よりも多くの時間を節約できたと強く信じています。しかし、最初は少し時間がかかります。MVVMについて

読むヒント:

ジョシュ・スミスは私のためにgreateの助けでした。ここに1つの記事があります:http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

ドイツ人なら大丈夫ですか?私は数ヶ月前にdotnetproの記事を読んでいました。それはまさにいくつかの問題でした。私には時間がかかりました。「JörgNeumann/Flexibler Standard/dotnetpro 04/2012」

私は本当に覚えていませんが、それほど難しくありませんでした。私はプリズムを使うことは難しいことではないと言います。 MVVMの詳細については、はるかにトリッキーです。しかし、私はそれがないWPFアプリケーションのプログラミングを想像することはできませんでした。

希望すると助かります!

0

私は、MVVMとPrismとは何かについて多くの回答があります。上記のMVVMは、より洗練された「コードなし」のUIを作成するのに役立つパターンであり、Prismはその達成に役立つフレームワークの1つです。しかし、MVVMパターンを使用するには、Prismなどのフレームワークを使用する必要はありませんが、使用すると、いくつかのジャンプを開始します。あなたも、それは私がプリズムは、フレームワークである、と言うことができるプリズムを学ぶだけでなく、Silverlightのが、日の過去のカップルのためのネット上のいくつかのチュートリアルを通過することになると私もナイーブだ独自の http://channel9.msdn.com/Events/MIX/MIX10/EX15

1

を書いてみてください可能性があり、小規模なアプリケーションには適していません。 小さなアプリケーションを作成するには、MVVMパターンを使用する方がよいでしょう.Prismを使用するときは、労力がかかりますが、アプリケーションがその間に開発できると思う場合は、Prism良いアイデアになるでしょう。 プリズムは設計パターンの1つとしてMVVMも実装していますが。

2

MVVMはパターンであり、プリズムフレームワークを使用してそれを実装できます。コードビハインドにコードを入れてパターンを破っているかどうかも覚えておいてください。特定のチェックや操作を個別に行う場合は、Converterクラスから派生したクラスを追加してConverterプロパティを使用します(グリッド/パネルなどでアニメーションを使用する場合など)

関連する問題