Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Prism & Silverlight: Part 3 - Modularity with Prism

29 minutes, 22 seconds


Right click “Save as…”

This is part 3 of a series of screencasts illustrating some of the ideas found in "Prism" or the "Composite Application Guidance" from the Patterns and Practices team that can be used to build Silverlight applications in a way that lends itself to testability and modularity.

In talking to customers building business applications with Silverlight I find that Prism (and it's friend Unity) is frequently mentioned but not everyone has seen it and so I thought I would explore it myself and capture some of the results of that exploration here.

We start off with some fairly basic code which we move towards making use of dependency injection and modularity;

and then we move that code into the Silverlight world and try to illustrate some specific areas of Prism;

and then finally we try and bring some of these concepts together in a longer, more realistic example of a simple Email application built using the Prism framework - warning, this is a much longer session but I wanted something that draws things together;

The recommendation would be that you watch the 10 screencasts in order but if that feels like too long a process or if you're already very familiar with concepts like dependency injection and containers like Unity then perhaps watch the last screencast first and then refer back to the previous screencasts if certain areas need more illumination.

I put the source code for Video 10 here for download as it's a bigger set of source and something you might want to explore after the video - this does not necessarily represent "best practise" but is, instead, just meant to illustrate some of the Prism ideas.


Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • People should use these videos as examples of how to produce a perfect tutorial. Amazing stuff.

  • Mike Taultymtaulty Mike Taulty

    Thanks - very kind and I'm glad that you found them useful Smiley

  • Super series, any chance we could get you cloned to produce videos for all of .NET? Smiley


    Is there a way to use the app.config to register types rather than in the Initialize of the modules? 

  • Mike Taultymtaulty Mike Taulty

    Not sure on the cloning front - will look into it Wink


    On the app.config front - not sure if it was to yourself but I discussed this with someone on mail the other day - shouldn't be too difficult to inject another service that does the wiring of regions to views to avoid having to embed too much in those module initializers.


  • Hi,


    Great series! One non related comment though, surprise that while adding references why don't you use the recent tab instead of going to the prism folder each time??? Just wondering...

  • Mike Taultymtaulty Mike Taulty


    Yes, I think it was just me being an idiot Smiley



  • , Edsilv wrote

    People should use these videos as examples of how to produce a perfect tutorial. Amazing stuff.

    Absolutely agree. These videos are very informative and Mike you are a great teacher!!!

  • Alex JAlex J

    Sep 19, 2010 at 8:28 PM, Maharaj wrote
    Absolutely agree. These videos are very informative and Mike you are a great teacher!!!
    It seems Mike is getting a fun club!
    Great tutorials indeed! Congrats!

  • PhilPhil

    where can i find this composite dll in PRISM 4?

  • I am unable to watch the vid in full-screen mode.

    Thanks for these videos Mike, you're the best!

Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.