Prism & Silverlight: Part 1 - Taking Sketched Code Towards Unity
- Posted: Oct 27, 2009 at 3:29 AM
- 87,402 Views
- 34 Comments
Download
How do I download the videos?
- To download, right click the file type you would like and pick “Save target as…” or “Save link as…”
Why should I download videos from Channel9?
- It's an easy way to save the videos you like locally.
- You can save the videos in order to watch them offline.
- If all you want is to hear the audio, you can download the MP3!
Which version should I choose?
- If you want to view the video on your PC, Xbox or Media Center, download the High Quality WMV file (this is the highest quality version we have available).
- If you'd like a lower bitrate version, to reduce the download time or cost, then choose the Medium Quality WMV file.
- If you have a Zune, WP7, iPhone, iPad, or iPod device, choose the low or medium MP4 file.
- If you just want to hear the audio of the video, choose the MP3 file.
Right click “Save as…”
- WMV (WMV Video)
- MP3 (Audio only)
- MP4 (iPod, Zune HD)
- Mid Quality WMV (Lo-band, Mobile)
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;
- Part 1: Taking Sketched Code Towards Unity
- Part 2: Dependency Injection with Unity
- Part 3: Modularity with Prism
- Part 4: The Unity Bootstrapper
- Part 5: Moving to a Modular Silverlight Project
- Part 6: Shells, Regions, Views
- Part 7: Commands
- Part 8: Loosely Coupled Events with Event Aggregation
- Part 9: Sharing Data via Region Contexts
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.
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.
Follow the Discussion
Is the lack of audio planned? I mean, I don't mind but this looks somehow strange without audio?
Great video! Very nice to see good software design practices demonstrated in an easy-to-learn video. I was wondering what screen capture software you use to make these?
Interesting will have to view this later and see if it helps.
from my view right now we have a rainstorm of bits coming out and no really clear directions.
RIA
WCF
ASMX
ADO Entitiy framwork
MVVM
linq to this that and the other....
and
ASP.NET MVC
just to name the first few that come to mind
and then add Azure (sp?) and prism and unity
Ah we need some UNITY in a really big way right now.....
while beeing able to chose is mostly a good thing when you have so many and so little idea which ones to spend time with it's hard to
get focus on any one thing.
also after the way linq to SQL has been sidelined it now makes me ask what other cool stuff that's in the works today will be droped next year? it's very very frustrating to try and pick the winner like it's a lotto when it's my time and money and my rep on the line.
There should definitely be audio ... I haven't had any problems.
Hi,
I used Expression Encoder 3 Screen Capture - try it yourself from here http://www.microsoft.com/expression/products/Encoder_Overview.aspx - the standard version is free and will let you record up to 10 mins of screen capture.
Mike.
No, there's definitely meant to be audio - as a silent movie this is going to be a major flop
Yeah, just noticed, on the headphones earlier on I couldn't here the audio at all. Now I can hear it but it is really silent
I found this to be an issue across c9 in general lately. Anyway, this looks like a great series, gonna have a late night tonight!
Wow, nice, hey I like your wallpapers, care to share them? Looks pretty cool!
Hmmmm, all the ipod versions are the same, is that intentional?
This is the good stuff. I've previously used Prism in conjunction with Unity to create composite WPF clients in this manner, but it's useful to see a run through of the whole process (disclaimer .. I watched the first 40 minutes or so .. will continue with it tonight). It's tackled at a refreshingly rapid pace whilst remaining clear and entirely comprehensible too. Bravo.
Gah! I keep getting MEDIA FAILURE errors as it loads
All wallpapers are from http://www.wallpapers-room.com/ and cycled every so often via Windows 7
Thanks,
Mike.
Wonderful videos Mike. The 'live coding' style of presentation works far better for me than a cut and paste, pre-packaged format that seems to be all too common. Keep up the good work!
Thanks - will try
Looks great Mike - many thanks - looking forward to watching these on my trip to Belfast this week.
On a download point - for those trying the zune format download - none worked for me; the Zune player complained that all the files were corrupted (using the latest Zune software); download the wmv files instead which worked fine (but were bigger).
Where do I get the lifetime back, I spent on this video ? ;o) I didn't expect a Webcast that has nothing at all to do with unity ...
Ah, apologies if it wasn't useful to you. As I said "we start off with some fairly basic code which we move towards dependency injection and Unity". I didn't feel that just starting off and saying "Right, here's Unity" would necessarily work for everybody and so this video is really just the starting point for the code that we manipulate in the next three videos.
As I say - one way to view these is to start with video 10 and then work back if and only if there's something that needs more explanation. The other way is to treat videos 1-9 as a set that make (hopefully) sense together.
How can I download it and watch it on the train or plane?
Thx
Yaz
The audio did not work in VLC for me, but did work in WMP 11 (fyi, I have the Expression 3 suite installed...)
Thanks for this Mike. It was the series that got me from reading about to using PRISM & MVVM.
The journey from monolithic to composite app matches a battle we've had at Pentagon and this has helped us loads in pulling all the technical strands together.
A brilliant learning resource. Once again, thanks.
Audio is there. Definitely.
You are a great teacher, It is really a great series. I am right now in #6. and it has helped me a lot to understand prism. Thanks a lot.
Please do update (or create new) videos with the latest Prism build.
Thank you.
viron
Hi Mike,
can you pplease provide complete set of code from begining till end. I liked your way of explaining the modular apporach.
thanks
Mike,
This is the best explanation that I could find to learn about Prism and Unity. Thank you for all your effort and the great tutorials you have posted.
Wow! What a wonderful, concise and very fluid setup... Not understanding why I would want to use Unity at the beginning of this video, I'm now seeing it's value! Great Job! Very Professional. Wish you were my prof in university!
Winston Pang mentioned that all of the iPod versions were the same. Actually, they are all different, but when imported the MP4 files into iTunes they all have the same title which makes it difficult to determine the order in which to watch them. I compared the times from the web versions and changed the titles accordingly and then re-synced to my iPad.
That aside, I believe that these are excellent sessions. I really appreciate that these start at a very basic level and slowly bring the user into the actual goal of the presentation. I have already recommended this to my co-workers.
Stephen
Hi Mike,
Really Great explanation!! I was trying my implementation in the same way, but there is some problem while configure the container from App.config file, there is "The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)" error shown at run time. However the references are accurate. Can you please explain more about the unity container app.config file?
Thanks!
Santosh Dubey
I am not able to load video since 30 minutes, can anybody tell me what is the issue?
Thanks
Mike, thank you so much for these videos - they've been immensely helpful to me so far. However, I am facing a problem with your sample and I was wondering if you could share your thoughts with me on that:
At the end of your 3rd video "Modularity with Prism", the code should be divided into modules and the Program.cs should run them with the manager. I am fairly sure that my code matches yours, but upon debugging the app, the loading of the first module CalculatorCommandParsingModule throws an exception with the message:
"An exception occurred while initializing module 'Parsing'.
- The exception message was: Could not load file or assembly 'Interfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified."
Now, interfaces is referenced from the CalculatorCommandParsing library and everything build with no error.
Any ideas?
Thank you very very much.
Amazing presentation and structuring... Great Job altogether...
Mike
Fantastic videos. I really learnt a lot more faster with the live code presentation.
Thanks a ton!!!!
Jignesh
Remove this comment
Remove this thread
close