2010-11-19 8 views
2

私はSilverlight(WPFでうまくいく:P)を学び始めました。私はいつも新しいプログラムを始めるときに何か新しいことをしようとします。今回私はDIが欲しい。私はPrism &シルバーライトについてのすべてのmtaultyビデオを見たが、地域のもの、すべてのプロジェクト、SLアプリケーションやSLライブラリ、カタログを使用するときは...今は私にとっては難しいようだ。プリズムなしでユニティを使用する

問題は、MVVM LightプロジェクトでUnityを使用したいのです。私の質問は簡単です:

どのように私のすべてのサービスを登録しますか?私は "どこ"を意味します。

サービスを利用するすべてのプロジェクトのプリズムでは、サービスを登録するIModuleの実装があります。

私はちょうど1つのプロジェクトソリューションを簡単にしたいです。

App.xaml.csに私のすべてのサービス(リポジトリを含む)を登録する必要がありますか?Unityのために何らかの種類のクラスを作成する必要がありますか?または、私は男でなければならないのですか?prism4.pdf全体を読んで、正しいことをしていますか? (Prism4.pdfは少し不公平なようです:P)

ありがとう!

答えて

0

AFAIK、Unity、およびPrismは、相互に動作する必要はありません。 UnityはPrismを使わずに完璧に動作します。
Unityでは、インターフェイス(サービス)を設定ファイルに登録し、プログラムの最初にこの設定をロードする必要があります(App.xaml.csは悪い場所ではありません)。コードを使用してサービスを登録することも可能ですが、これにより、たとえばダミーインタフェースを実際の実装と交換することがより困難になります。ここからunityContainer.Resolve<T>を使用してサービスとインターフェイスを取得できます。

+0

どのように難しい?私が設定したファイル(私はそれを実装する方法を探さなければなりません)が登録されているサービスを持っているか、私は自分のサービスをコードに登録しています。私は設定ファイルやコードを変更する実際のもので私のダミーの実装を変更する必要があります。同じ問題ですね。 –

+0

はい、設定ファイルを変更してもコードを再構築する必要はないので、コンポーネントを簡単に交換することができます。 – RoelF

+0

Silverlightアプリケーションを作成している場合は、そこに設定システムがないので、設定ファイルを使用できないことに注意してください。 APIを使用する必要があります。私は一般に、登録コードを別のクラスに抽出して、アプリケーションの起動時に登録を適用します。 –

関連する問題