<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>robburke.NET &#187; Prism</title>
	<atom:link href="http://robburke.net/tag/prism/feed/" rel="self" type="application/rss+xml" />
	<link>http://robburke.net</link>
	<description>Robert Burke&#039;s home on the web.</description>
	<lastBuildDate>Wed, 18 Apr 2012 19:15:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>TechDays 2009: &#8216;Building Modular Applications using Silverlight and WPF&#8217; Follow-up</title>
		<link>http://robburke.net/2009/09/techdays-2009-building-modular-applications-using-silverlight-and-wpf-follow-up/</link>
		<comments>http://robburke.net/2009/09/techdays-2009-building-modular-applications-using-silverlight-and-wpf-follow-up/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 22:57:17 +0000</pubDate>
		<dc:creator>Rob Burke</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Composite Application Guidance]]></category>
		<category><![CDATA[Patterns and Practices]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Tech Events]]></category>
		<category><![CDATA[TechDays]]></category>
		<category><![CDATA[TechDays 2009]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://robburke.net/?p=1695</guid>
		<description><![CDATA[I&#8217;ve just finished delivering the &#8220;Building Modular Applications using Silverlight and WPF&#8221; session at Microsoft Canada&#8217;s TechDays 2009 event in Toronto. What a difference a year makes! At last year&#8217;s TechDays, my presentation was all: &#8220;Silverlight is new and awesome! Let&#8217;s lap around some awesome Silverlight features!&#8221; But this year, as Silverlight and WPF have [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.microsoft.com/canada/techdays/"><img class="alignright size-full wp-image-1696" title="TechDays 2009" src="http://robburke.net/wp-content/uploads/2009/09/techdays_thumb_3c3064a8-83bb-4e56-8029-aedc56d6c678.jpg" alt="TechDays 2009" width="125" height="133" /></a>I&#8217;ve just finished delivering the &#8220;Building Modular Applications using Silverlight and WPF&#8221; session at <a href="http://www.microsoft.com/canada/techdays/">Microsoft Canada&#8217;s TechDays 2009</a> event in Toronto.</p>
<p>What a difference a year makes! At last year&#8217;s TechDays, my presentation was all: &#8220;Silverlight is new and awesome! Let&#8217;s lap around some awesome Silverlight features!&#8221;</p>
<p>But this year, as Silverlight and WPF have gained some maturity, many of us are now working on more complex projects enabled by these frameworks.</p>
<p>So <strong>this year&#8217;s theme</strong>, appropriately, was <strong>designing for change. </strong>It was about taming complexity in real-world Silverlight and WPF apps with <strong>patterns, conventions, examples, </strong>and <strong>a little glue code</strong>.</p>
<h2>What we covered</h2>
<p>After a brief primer on the MVVM pattern, the core of the presentation was a lap around <strong>Prism</strong>, a.k.a. the <strong>Composite Application Guidance for Silverlight and WPF </strong>released by Microsoft&#8217;s Patterns and Practices group.</p>
<p>We looked at the structure provided by Prism&#8217;s Shell and Bootstrapper, demystified Dependency Injection (over <a href="http://auntiesanduncles.ca/">breakfast</a>), and then explored the Region Manager, Modules, the Event Aggregator, and Commanding.</p>
<h2>Taming Complexity and Designing for Change</h2>
<div id="attachment_1698" class="wp-caption alignright" style="width: 310px"><a href="http://robburke.net/wp-content/uploads/2009/09/StockTraderRI.jpg"><img class="size-medium wp-image-1698 " title="Prism's Stock Trader Reference Implementation" src="http://robburke.net/wp-content/uploads/2009/09/StockTraderRI-300x218.jpg" alt="Prism's Stock Trader Referencec Implementation" width="300" height="218" /></a><p class="wp-caption-text">Prism&#39;s Stock Trader Reference Implementation</p></div>
<p>Complexity in the software development lifecycle comes in many forms, including but not limited to:</p>
<ul>
<li>integrating multiple disparate sources of data,</li>
<li>dealing with changing requirements,</li>
<li>managing features delivered by distributed dev teams,</li>
<li>creating complex interactive views,</li>
<li>rapidly skilling up new resources on a project,</li>
<li>cleanly separating concerns for different roles (like designer and developer), and&#8230;</li>
<li>well, I could go on.</li>
</ul>
<p>It seems to me like a good way to <strong>tame complexities </strong>like these is to design for change. Prism helps you do this. So does MVVM.</p>
<p>I&#8217;ve worked with WPF since it was called Avalon, but only recently started using Prism.</p>
<p>When I go back now and look at my pre-Prism code, it looks fine in parts, but organizationally, it reeks of uninformed, trainwreck stuff. If I could speak to Rob vPrevious, I would insist that he take the time to learn Prism.</p>
<h2>Do your time in Prism</h2>
<div id="attachment_1705" class="wp-caption alignright" style="width: 310px"><a href="http://robburke.net/wp-content/uploads/2009/09/DidMyTimeInPrism.jpg"><img class="size-medium wp-image-1705 " title="I did my time in Prism" src="http://robburke.net/wp-content/uploads/2009/09/DidMyTimeInPrism-300x260.jpg" alt="I did my time in Prism" width="300" height="260" /></a><p class="wp-caption-text">I did my time in Prism, so I did</p></div>
<p>So my call to action for all serious WPF and Silverlight devs is:</p>
<ul>
<li>Do your time in Prism. Invest the time to <a href="http://www.codeplex.com/prism">get the Prism framework, software and documentation from Codeplex</a> and <a href="http://www.msdn.com/prism">read the lucid documentation on MSDN</a>.</li>
<li>Don&#8217;t be intimidated (like I was) by terms like <a href="http://www.pnpguidance.net/post/top5reasonschooseunitydependencyinjectioncontainer.aspx">Dependency Injection Container</a> and Inversion of Control.</li>
<li>Check out Prism&#8217;s Stock Trader Reference Implementation, and</li>
<li>Even if you don&#8217;t decide to use Prism on your project, think about conventions, and patterns, and how your code will respond to change.</li>
</ul>
<p>Finally &#8211; if you <em>are </em>a Silverlight or WPF developer, and are looking for a place to work on interesting projects on a scale that <em>demands </em>you plan for change, please <a href="http://robburke.net/contact">contact me</a>.</p>
<p>For those of you who came out today, thanks for the engaging conversations afterwards, and I hope you found the presentation a helpful primer on Prism. May it help you get up the learning curve and start using the P&amp;P guidance in your own applications!</p>
<p>Please write me with your own Prism thoughts and stories.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<p>This year, the theme was <strong>designing for change. </strong>It was about taming complexity with patterns, conventions, examples, and glue code.</p>
<p>it was a deeper Senior Dev / Architect level discussion that discussed the MVVM pattern and Prism, the Composite Application Guidance for Silverlight and WPF.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://robburke.net/2009/09/techdays-2009-building-modular-applications-using-silverlight-and-wpf-follow-up/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WPF Line-Of-Business App Links</title>
		<link>http://robburke.net/2008/05/wpf-line-of-business-app-links/</link>
		<comments>http://robburke.net/2008/05/wpf-line-of-business-app-links/#comments</comments>
		<pubDate>Thu, 15 May 2008 20:59:42 +0000</pubDate>
		<dc:creator>Rob Burke</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[coding guidelines]]></category>
		<category><![CDATA[DevTeach]]></category>
		<category><![CDATA[line of business]]></category>
		<category><![CDATA[LOB]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[snippets]]></category>
		<category><![CDATA[Tech Events]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://robburke.net/?p=110</guid>
		<description><![CDATA[Some WPF Line-of-Business App follow-up after my presentation at DevTeach today: Great Snippets: Great code snippets I have installed into my Visual Studio for WPF development are the Dr Wpf and Nerd+Art snippet packs. WPF Coding Conventions: The coding guidelines I use for WPF are a riff on Paul Stovell&#8217;s XAML and WPF Coding Guidelines. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" style="border: 0pt none; float: right;" src="http://www.robburke.net/images/DevTeach.jpg" alt="" width="137" height="82" /><em>Some WPF Line-of-Business App follow-up after my presentation at DevTeach today:<br />
</em></p>
<p><strong>Great Snippets:</strong> Great code snippets I have installed into my Visual Studio for WPF development are the <a href="http://drwpf.com/blog/Home/tabid/36/EntryID/22/Default.aspx">Dr Wpf</a> and <a href="http://www.blendables.com/files/folders/nerd_43_art/entry387.aspx">Nerd+Art</a> snippet packs.</p>
<p><strong>WPF Coding Conventions: </strong>The coding guidelines I use for WPF are a riff on <a href="http://www.paulstovell.com/blog/xaml-and-wpf-coding-guidelines">Paul Stovell&#8217;s XAML and WPF Coding Guidelines</a>.</p>
<p><strong>Application Quality Guide: </strong>There&#8217;s a WPF Application Quality Guide in the works.  <a href="http://windowsclient.net/wpf/white-papers/wpf-app-quality-guide.aspx">More information at WindowsClient.net</a>.</p>
<p><strong>Avalon Healthcare Demo: </strong>Still my favourite WPF Line-of-Business App Demo.  <a href="http://wpf.netfx3.com/files/folders/applications/entry6608.aspx">Code available here</a>.</p>
<p><strong>Prism: </strong>Think CAB (or SCSF) for WPF, re-built from the ground up to learn from past Composite UI frameworks.  There are drops available on Codeplex.  <a href="http://www.softinsight.com/bnoyes/2008/04/29/PrismCompositeWPFGuidance.aspx">Brian Noyes, a contributor, has a great summary here</a>.</p>
<p><strong>WPF/Silverlight shared code:</strong> Someone asked about sharing code between WPF and Silverlight.  While I think it&#8217;s more <em>skills</em> than <em>code</em> that you&#8217;ll actually be sharing, here&#8217;s <a href="http://blogs.msdn.com/delay/archive/2008/05/04/ivalueconverter-the-swiss-army-knife-of-bindings-propertyviewer-sample-is-a-wpf-silverlight-visualization-and-debugging-aid.aspx">a good example in Delay&#8217;s blog of actual code being re-used</a> bewteen the two frameworks.</p>
<p>hope that helps,<br />
Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robburke.net/2008/05/wpf-line-of-business-app-links/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

