Caliburn is a framework designed to aid in the development of WPF and Silverlight applications. It implements a variety of UI patterns that are geared towards solving problems encountered in real-world scenarios.
It's goals are:
- Support building WPF/SL application that are TDD friendly.
- Implement functionality for simplifying various UI design patterns
in WPF/SL. These patterns include MVC, MVP, Presentation Model
- Ease the use of a DI container with WPF/SL.
- Simplify or provide alternatives to common WPF/SL related tasks.
- Provide solutions to common UI architecture problems.
This new version contains support for two primary features: Actions and Commands.
Actions were primarily inspired by frameworks like Monorail and ASP.NET MVC. Caliburn attempts to bring this methodology of UI architecture to WPF and Silverlight. Using this feature allows developers to eliminate the need for code behind files by allowing UI components to bind directly to methods on other classes. Actions supports a rich set of features such as auto determination of input parameters, databinding of return values, filters, automatic asynchronous code execution, UI updates based on action availability, etc.
Commands are built on top of Actions and enable the GOF Command pattern. This implementation is unrelated to the native WPF implementation and (IMHO) is superior to it in a variety of ways. Commands have all the features of Actions. Additionally, commands can be linked to form composite command chains.
Now that I have the code up, I'll be spending some time blogging about how to use the specific features. In the mean time, there are nine samples for both WPF and Silverlight that demonstrate the basic usage of these features.
You can find the project site here.
10-12-2008 10:03 PM