# Monday, July 26, 2010

My current client is looking to combine a series of line of business Access (YIKES) and Win Forms apps into a composite WPF MVVM solution.  I was also brought in to architect one of the heavy hitter apps that will be a part of the new composite application.  In the initial discussion concerning creating a composite application, one of the client’s developers presented a proof of concept composite application using Microsoft’s Prism. I voiced my concern about the amount of code said solution would be required to handle and recommended going with a multi-solution composite rather than a multi-project composite.

I started researching multi-solution composite applications on the inter-webs and found very little, virtually no, useful material…and this worried me.  I couldn’t be the first guy to think the multi-solution approach would be preferred for a composite application that will, when all is said and done, contain hundreds of thousands of lines of code.  Not wanting to lead my client in the direction of the proverbial unicorn I decided to put together a little proof of concept of my own.

This code is a Proof Of Concept and was developed as such.  The overall functionality of the application is trivial.  It is UI centric and does not contain a true data access layer and it does not contain any unit tests.  I know this is horrible but please understand. :)

The typical WPF composite application is broken down into three major sections.

  1. Infrastructure (VS Project)
    • Commands
    • Events
    • Domain Entities
    • Interfaces
  2. Shell (VS Project)
    • WPF Window that will act as the *shell* of your composite application
    • Bootstrapper (we will discuss this later)
  3. Modules (1 or more VS Projects)
    • WPF user controls that make up the functionality of your application
    • Modules should be as self contained as possible with minimal references to Infrastructure
    • Each module will contain
      • View
      • View Model
      • Controller (optional)

The structure for a multi-solution composite application is similar but is broken out into solutions instead of projects, surprise!


The code is really straightforward.  There a couple of requirements though:

  1. Prism
  2. Unity

I included some UI enhancements, including implementing the Avalon Dock controls for docking windows.

Download Here!!!!!!

Tuesday, November 16, 2010 7:33:48 PM (Central Standard Time, UTC-06:00)
don't ask the deadly, fendi bags deadly, "Come here often?"The training is dependent replica bulgari watches dependent in part on hidden-camera videos captured cartier brooch captured by the
Tuesday, January 11, 2011 11:20:54 PM (Central Standard Time, UTC-06:00)
Interesting blog. It would be great if you can provide more details about it. Thanks you.send flowers to Canada
Thursday, January 13, 2011 12:22:17 AM (Central Standard Time, UTC-06:00)
Giving someone all your love cheap ugg boots sale is never an assurance that they will love discount ugg boots you back! Do not wait for love in return,just wait for cheap ugg boots it to grow in their ugg boots heart but if does not,be content it grows in ugg boots sale yours.It takes only a minute to get a crush on someone,but it takes a http://www.goodfurboots.com/ lifetime to forget someone.
Thursday, January 20, 2011 11:57:46 PM (Central Standard Time, UTC-06:00)
"Relish the moment " is a good Red Bull Hats motto,
especially when coupled with New York Yankees Hats Psalm
118:24:"Thisis the day which the Lord Monster Energy Hats hath
made;we will rejoice and be glad in it. " It isn't the burdens of today that drive men mad. It is the regrets over yesterday and the
fear of tomorrow. Regret new era hats and fear are twin thieves who rob us of today.

Sunday, January 23, 2011 11:21:57 PM (Central Standard Time, UTC-06:00)
Many improvements and <b>belstaff townmaster jacket</b> enhancements have been made in <b>belstaff town master motorcycle jacket</b> this range of jackets. People <b>belstaff tourmaster trophy jacket</b> of varying ages try out <b>belstaff tourmaster summer jacket</b> these jackets and they look <b>belstaff thruxton jacket</b> extremely good. The special <b>belstaff the departed jacket</b> features of a barbour jacket <b>belstaff textile jacket</b> like corduroy collar and brass <b>belstaff stoke jacket</b> zipper distinguish these <b>belstaff snetterton jacket</b> jackets from the others in the <b>belstaff siskin jacket</b> market.<p>These jackets are <b>belstaff silverstone jacket</b> perfect for the upcoming <b>belstaff sammy miller replica jacket</b> winter months. They are <b>belstaff sammy miller jacket</b> comfortable and provide you <b>belstaff roadmaster motorcycle jacket</b> ultimate protection from the rough <b>belstaff rider blouson jacket black</b> and harsh winter season. <b>belstaff rider blouson jacket</b> They are durable and <b>belstaff redford jacket</b> lightweight and can give a warm and <b>belstaff rebel jacket</b> snug feeling when you wear <b>belstaff rallymaster jacket</b> them. These jackets have become <b>belstaff raf jacket</b> an instant hit with the <b>belstaff racing blouson leather jacket</b> young crowd. They are <b>belstaff racing blouson jacket</b> functional and stylish and help to <b>belstaff racemaster jacket</b> keep you warm. Metallic Active <b>belstaff r6 jacket</b> International and <b>belstaff preston jacket</b> Liddesdale jacket are among the <b>belstaff panther timeless jacket</b> popular ones in the market, in <b>belstaff panther jacket medium</b> the range of jackets.<p>The <b>belstaff outlaw jacket</b> Metallic Active International <b>belstaff original 50 jacket</b> offers roomy pockets and is <b>belstaff omega jacket</b> available in the colour <b>belstaff olivers mojave vintage leather blouson jacket</b> black. It comes with a removable <b>belstaff nylon jacket</b> hood and buckles that can <b>belstaff new tourist trophy jacket</b> be adjusted to keep you <b>belstaff new delta force jacket</b> protected from the biting cold <b>belstaff motorcycle jacket for sale</b> winds. The metal clasps are dur
Monday, January 24, 2011 12:16:15 AM (Central Standard Time, UTC-06:00)
(will show your gravatar icon)
Home page

Comment (Some html is allowed: a@href@title, strike) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Enter the code shown (prevents robots):

Live Comment Preview