New Prism drop: Refactoring time!
April 17th, 2008
A new drop of Prism is out there. If you haven’t yet taken a look at Prism, you should definitively do it.
This last iteration’s goal was mainly about refactoring and making lots of changes that as the framework evolved we were not very comfortable with. We had reached a point where we had so many PostIts in our refactoring wall that we were saving for later, that we decided to spend a whole iteration on them.
You can read the high-level changelog on the Codeplex release page for the drop and Ezequiel’s post, so I won’t repeat them, but I’ll comment on some of them.
- IMetadataInfo (and IMetadataInfoProvider) was removed from the Prism framework.
Previously, the Prism framework was playing a part in connecting some header metadata for a view to the region it was placed in (in some sort similar to what SmartPartInfo was in CAB). This was not flexible enough in the WPF world, where you could use your creativity and designer skills to come with a super cool UI (or at least not the ol’ basic gray tab control).
Furthermore, there is no real reason to provide framework help on this, when it’s easy enough to just use WPF bindings to provide the metadata or title text for the view that gets placed into the region. Don’t worry, is not that you get nothing now when you were at least getting some help before: you will still receive guidance (for now in form of a Reference Implementation and QuickStarts).
- We are now using generic commands (DelegateCommands in Prism) in a more consistent way than before.
You’ll also probably notice a commands proxy class that does nothing else than redirect to a set of static commands. If you look closer at the code usages, you’ll notice that this class is inherited in the unit test projects for mocking purposes, to avoid using the static instances of the commands that would mess up the independence of the tests.
There are literally several dozens of changes and fixes, so please get the latest drop and give us your feedback on it, as we are using your feedback immensely.