推奨Prism v2 Silverlight / WPFプロジェクト構造
-
03-07-2019 - |
質問
現在、私が働いている会社のすべての開発者にSilverlight(v2)について教えることを任されています。唯一の問題は、私自身が実際のSilverlightの経験を持っていないことです。もちろん、データバインディング、レイアウトなどのようなものに関するすべての技術的な詳細を研究したので、同僚を助けることができます。ただし、情報を見つけるのが難しいのは、一般的なプロジェクト構造です。
P& P Prism 2の道をたどることに決めたので(後でミックスにWPFを追加することもあります)、Prism 2を使用して実際のプロジェクトを開発した経験のある人がいるかどうか疑問に思いましたまたはWPFだけで、プロジェクト/ソリューションの構造について何か提案があった場合は? 「ビューをどこに配置しますか?」などまたは"モジュールプロジェクトの命名規則はありますか?"など。
ご協力いただければ幸いです。
解決
これは、Silverlightではなく、Prism for WPFを使用した私の経験に基づいています。私はプリズムの専門家ではないので、これらのいくつかについて簡単に考えを変えることができます。 :-)
-
すべてのモジュールを作成するのは魅力的です。しないでください。ビルド時間はすぐに尽き、非常に骨折したソリューションに対処することになります。代わりに、静的にロードされるメインモジュールが1つあり、ベースパッケージに必要なものがすべて含まれています。アドオンまたはエクストラは、動的にロードされる他のモジュールになります。その1つのモジュールを少し壊す価値があるかもしれませんが、その数は小さくしてください。これはロード時間にも役立ちます。
-
これが良いアイデアかどうかはわかりませんが、ViewおよびViewModelインターフェースをView / ViewModel自体と同じファイルに保持するのが好きです。 MVVMパターンは多くのファイルを生成でき、これによりファイルのカウントダウンが維持されるため、これが気に入っています。欠点は、インターフェイスとその実装を分離するのが難しいことですが、私はこれを行う必要はほとんどなく、この手法はテストを妨げません。これは他の利点です。
-
ビューは、Viewsフォルダーに移動し、次に各Viewのフォルダーに移動する傾向があります。各ビューのフォルダーには、ビュー、ViewModel、および必要に応じてプレゼンターが含まれます。
-
参照実装から、モジュール間で共有する必要があるすべての共通クラスのインフラストラクチャプロジェクトを作成します。リファレンス実装には詳細がありますが、これは一般的なサービスインターフェイス、定数など、あらゆる種類の物に使用できます。