Home > Prism, WPF > Project Structure For Prism Projects

Project Structure For Prism Projects

June 22nd, 2009

This is how I am structuring my Prism projects.

ProjectName

This is the project which contains the shell and bootstrapper.

ProjectName.Infrastructure

This project contains all the classes that are shared between the modules such as events and common interfaces.

ProjectName.Infrastructure.Resources

In this project I put all my resources for the project such as styles and images.  This allows me to share specific icons and pictures etc between the different modules.

ProjectName.ModuleName

These projects are the modules loaded by the bootstrapper.  Inside the project I have a separate folder for Views and one for ViewModels.  The module class lives in the route of the assembly.  I currently am separating out each area of functionality into separate modules though there has been discussion as to whether you should have a Core Module which holds most or all the core functionality of the app.  I am against this as I think the notion of having more than 1 area of functionality in the one module does away with the advantages of modularity and increases the likelihood of having to do a full deployment when changing a single area of functionality.

PrismExtensions

This project contains my extensions for Prism or base code that helps speed up development.  So far it has a couple of RegionAdapters, the start of an MVVM framework and a custom bootstrapper that loads all the extensions automatically.

PeteDoesStuff.NET Prism, WPF ,

  1. No comments yet.
  1. No trackbacks yet.