![]()
Last week, Karega Scott made a nice post on how Pure MVC makes development of Windows applications using C# simple. I thought I ll piggyback on this post and share some of my thoughts regarding this popular framework. I think the framework, if understood completely and adopted intelligently, has to offer some really cool benefits like :
- Light-weight messaging mechanism (using Notification/Observer patterns) between different parts of the application without having to create custom events/hooks all over the place.
- Highly Decoupled Components allowing abstraction and seperation of logic.
- The application’s testability is enhanced greatly because of the reason stated above.
- A Centralized singleton Facade component that mediates between the different components in the application.
- The use of commands in the framework can help in building complex applications that need to perform several different UI-driven functions.
The framework’s limitations (or should I say “perceived weaknesses”) are :
- Registering and removing components on the Facade? Could there have been a better way to accomplish this? May be.
- Named references for components were not helpful at all.
- If the framework’s notification mechanisms are not used appropriately, there are chances of infinite message loops leading to debugging hell.
There was considerable ramp up time involved in understanding the framework’s capabilities/strengths/weaknesses. I still don’t think I have realized the complete potential of Pure MVC and I hope to explore more of it these coming days.
Related Services: .Net Application Development, Custom Software Development
