Design Patterns

MVVM: Going it alone

If you want to implement MVVM for your next/current project, but you can’t seem to find a framework that works for you then give a look at Rob Eisenberg’s presentation from MIX10, Build Your Own MVVM Framework. Here’s the synopsis: You've heard a lot about Model-View-ViewModel (MVVM), but you've struggled to see how it can help you in your day-to-day work. Or, you're experienced at implementing MVVM, but looking for some ways to maximize your investment in this methodology. In this talk, we build a simple MVVM framework by iteratively identifying pain points in our UI...

MVVM with Prism 101 – Part 6b: Wrapping IClientChannel

Source Code Part 1: The Bootstrapper Part 2: The Shell Part 3: Regions Part 3b: View Injection and The Controller Pattern Part 4: Modules Part 5: The View-Model Part 5b: ServiceLocator vs Dependency Injection Part 6: Commands Part 6b: Wrapping IClientChannel I wasn’t originally planning on a post specific to this topic, and there is likely some rehashing...

MVVM with Prism 101 – Part 6: Commands

Source Code Part 1: The Bootstrapper Part 2: The Shell Part 3: Regions Part 3b: View Injection and The Controller Pattern Part 4: Modules Part 5: The View-Model Part 5b: ServiceLocator vs Dependency Injection Part 6: Commands Part 6b: Wrapping IClientChannel I have to apologize for the length of this...

MVVM with Prism 101 – Part 5b: ServiceLocator vs Dependency Injection

Source Code Part 1: The Bootstrapper Part 2: The Shell Part 3: Regions Part 3b: View Injection and The Controller Pattern Part 4: Modules Part 5: The View-Model Part 5b: ServiceLocator vs Dependency Injection Part 6: Commands Part 6b: Wrapping IClientChannel ...

MVVM with Prism 101 – Part 5: View-Model

Source Code Part 1: The Bootstrapper Part 2: The Shell Part 3: Regions Part 3b: View Injection and The Controller Pattern Part 4: Modules Part 5: The View-Model Part 5b: ServiceLocator vs Dependency Injection Part 6: Commands Part 6b: Wrapping IClientChannel Alright, so we’re finally here. I could...

MVVM with Prism 101 – Part 4: Modules

Source Code Part 1: The Bootstrapper Part 2: The Shell Part 3: Regions Part 3b: View Injection and The Controller Pattern Part 4: Modules Part 5: The View-Model Part 5b: ServiceLocator vs Dependency Injection Part 6: Commands Part 6b: Wrapping IClientChannel Welcome back to my series on implementing the Model...

MVVM with Prism 101 – Part 3b: View Injection and the Controller Pattern

Part 1: The Bootstrapper Part 2: The Shell Part 3: Regions Part 3b: View Injection and The Controller Pattern Part 4: Modules Part 5: The View-Model Part 5b: ServiceLocator vs Dependency Injection Part 6: Commands Part 6b: Wrapping IClientChannel In my last post I addressed regions in the Composite...

MVVM with Prism 101 – Part 3: Regions

Source Code Part 1: The Bootstrapper Part 2: The Shell Part 3: Regions Part 3b: View Injection and The Controller Pattern Part 4: Modules Part 5: The View-Model Part 5b: ServiceLocator vs Dependency Injection Part 6: Commands Part 6b: Wrapping IClientChannel This is the third post in a series of...

MVVM with Prism 101 – Part 2: The Shell

Source Code Part 1: The Bootstrapper Part 2: The Shell Part 3: Regions Part 3b: View Injection and The Controller Pattern Part 4: Modules Part 5: The View-Model Part 5b: ServiceLocator vs Dependency Injection Part 6: Commands Part 6b: Wrapping IClientChannel This is the...

Utah Code Camp – Implementing MVVM with Prism

Below is a link to both the source code and my slide deck from Utah Code Camp on Saturday, Sept 19, 2009. http://dl.getdropbox.com/u/273037/CodeCampMVVM.zip I will be posting follow ups to this presentation over the coming weeks. I should be able to post at least once a week covering the topics in detail For those who attended, please let me know which specific topics you’d like to hear about first or if you have any questions you’d like to see addressed.

Prism for Silverlight 2: Taking ‘Hello World' to a Whole New Level

The World's Most Over-engineered “Hello World” DemoDownload SourceI wanted to build a demo/guidance application for Silverlight that merges everything I want to accomplish in a Silverlight 2 application. These were my goals: WCF integration Design-time data binding Independent, decoupled modules Commanding support I chose to use the Composite Application Library for WCF/Silverlight (aka Prism 2) since it came out of the box with commanding support and a framework for pluggable modules. Prism 2 was developed by Microsoft's Patterns and Practices (PnP) group.I've posted a copy of my solution for anyone who's interested in...

Silverlight and Prism: Decoupling the WCF Client Proxy

I'm in the process of creating the world's most complex “Hello World” Silverlight application. Hopefully, for once, I'll see it through to the end and also post the source and an insightful blog entry to help everybody who's struggling to do the same. Anyone who follows my blog knows that I don't always follow through on a series to the end. But, “I can dream can't I?”. Anyhow, I've taken the recent release of Prism v2, which introduced Silverlight support, to dig in and get to know both Prism and Silverlight. As background, I have one production WFP application under...

Entity Framework: Abstracting ObjectContext

Wither you are a TDD purest or not, if you are developing with Entity Framework and testability is important to you, then you have tried some workaround or applied some pattern to make testing possible in your project. When you have a class or method which depends on any external resource it is important to create some sort of abstraction in order to remove a dependency upon that resource so you can effectively test your code. The client I am currently working for has chosen to create a repository class which takes an ObjectContext argument in the constructor. The repository...

Abstracting System.Web.UI.ScriptManager away from the Web Forms model

As I continue to work with the ASP.NET MVC framework I continue to be inspired to dig deeper into things, to find out how they work and how I can make them work with this awesome new framework.The case in point here is using ASP.NET Ajax controls with MVC. Currently this doesn't work because it is closely tied to the web forms model. More specifically, ASP.NET Ajax requires an html form element with the runat attribute set to “server”. Without it, client enabled controls written to use the ScriptManager server control won't work.Here's the error message if you include ScriptManager...

 

 

Copyright © Mark J. Miller