Here is the change log for the work done in Iteration #7:Reference Implementation
- Repositories were refactored. They are now registered as singletons in the container and some concurrency issues where fixed using synchronized collections.
- Modularity :
- Convention over configuration: Main application loads by default all concrete implementations of IServicesSupplier and IRoutesSupplier in the assemby, avoiding to explicitly add one by one. (see Global.asax and TypesProvider)
- UIComposition: UIExtension points are provided for the "Add To Library" link in the search page and the "Follow" link in the profile page. Modules supply services that provide the necesary information to render the links. The controllers and Views in the main application pull these services and render the links.
- Hybrid MVC-Webforms: Modules can register routes that map to webforms pages.
- Added friends webforms module that supply the FollowProfileActionProvider service and register routes for the AddFriend.aspx and FriendList.aspx webforms pages (see FriendsRoutesSupplier)
- Update the MyLibrary module to supply the AddToLibrarySongActionProvider service.
- Added the InitializationOrderHint attribute to support managing the order in which services, routes, and so on are registered.
- Added MVC validation to the Validation Quickstart. The Quickstart now also shows validation of view models using MVC2 Beta validation with Data Annotations and Custom validators.
- Added the Sharing Validation between the Client and Server document that provides a couple of advices of how to achieve this.
- Added the Authentication and Authorization document.
- Updated Validation QuickStart: Added "Validation in MVC" section.
- Updated Webforms: Top Ten Tasks for improving responsiveness (very early draft).