<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-455644516839158870</id><updated>2012-02-16T07:08:33.937-08:00</updated><title type='text'>SharePoint, .NET, Software Development etc.....</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sharedevpoint.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/455644516839158870/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sharedevpoint.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>asdfasdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-455644516839158870.post-8439962326782298196</id><published>2009-06-08T21:24:00.000-07:00</published><updated>2009-06-08T21:28:58.055-07:00</updated><title type='text'>WPF Patterns, Frameworks and Practices</title><content type='html'>Sound understanding and experience with WPF technology and XAML is core to developing rich UI applications on .NET Framework and Silverlight platform. However, developing UI of a professional software using WPF requires, along with core understanding of technology and XAML, a blend of knowledge on leveraging data, visual design, interaction design, multithreading and security to name a few.&lt;br /&gt;&lt;br /&gt;UI is also the among the most volatile area (layer if you may) of an application as its design (and unpredictable stylistic requirements) is influenced by several participants – product managers, user community, designer experiences. This puts additional demand on good design to support ease of introducing changes and enhancements throughout the life of the software.&lt;br /&gt;Good design patterns and frameworks are important tools in WPF developer’s toolbox. They facilitate developing applications that are robust and testable. They also make WPF applications more amenable to introducing changes and enhancements (reality of life for a UI developer) and facilitate parallel development among larger group of developers/designers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#333333;"&gt;Model-View-ViewModel (M-V-VM)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If you have done .NET development for desktop using Windows Forms or web development using ASP.NET or done Java/Ruby/php development you must have heard (and used) MVC [Model View Controller] or MVP [Model View Presenter] patterns. In ASP.NET development, ASP.NET MVC is a rage among developer community to provide separation of concern in development.&lt;br /&gt;&lt;br /&gt;John Gossman, currently one of the WPF and Silverlight Architects at Microsoft, unveiled M-V-VM pattern to provide separation of concern and abstraction for WPF application development. It is tailer-made for WPF and Silverlight platforms.&lt;br /&gt;The link below will give a plenty of details and sample code to get you started.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/dd419663.aspx" target="_blank"&gt;WPF Apps With The Model-View-ViewModel Design Pattern&lt;/a&gt; (&lt;a title="http://msdn.microsoft.com/en-us/magazine/dd419663.aspx" href="http://msdn.microsoft.com/en-us/magazine/dd419663.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd419663.aspx&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#333333;"&gt;&lt;strong&gt;Composite Client Application Guidance&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Composite Client Application Guidance is designed to help you more easily build modular Windows Presentation Foundation (WPF) and Silverlight client applications.&lt;br /&gt;These types of applications typically feature multiple screens, rich, flexible user interaction and data visualization, and role-determined behavior. They are "built to last" and "built for change."&lt;br /&gt;The link below will get you started looking at this guidance.&lt;br /&gt;&lt;br /&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/cc707819.aspx" href="http://msdn.microsoft.com/en-us/library/cc707819.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc707819.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#333333;"&gt;UX Design Patterns&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Check out the link below to video presentation of Mix 09 Session on UX design pattern. The presenter introduced a cool tool to learn and adopt common patterns and controls used in both desktop and web UI development.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://videos.visitmix.com/MIX09/T30F" target="_blank"&gt;Advance Your Design with UX Design Patterns&lt;/a&gt;&lt;br /&gt;(&lt;a href="http://quince.infragistics.com/"&gt;http://quince.infragistics.com/&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;By the way, this UI is written in Silverlight. Pretty cool!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Take your WPF learning to next level by applying sound software design principles and patterns to make your applications testable (and hence robust) and easier to enhance and evolve.&lt;br /&gt;Hope this has motivated you enough to explore and adopt these patterns, frameworks and practices over and above your core understanding and experiences in WPF and XAML technologies.&lt;br /&gt;&lt;br /&gt;Happy learning!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/455644516839158870-8439962326782298196?l=sharedevpoint.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharedevpoint.blogspot.com/feeds/8439962326782298196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharedevpoint.blogspot.com/2009/06/wpf-patterns-frameworks-and-practices.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/455644516839158870/posts/default/8439962326782298196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/455644516839158870/posts/default/8439962326782298196'/><link rel='alternate' type='text/html' href='http://sharedevpoint.blogspot.com/2009/06/wpf-patterns-frameworks-and-practices.html' title='WPF Patterns, Frameworks and Practices'/><author><name>asdfasdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
