Project Description
THIS PROJECT IS IN THE PROCESS OF BEING RECONSTRUCTED. It will focus on the development of a comprehensive COMPOSITE APPLICATION PLATFORM. (Stay Tuned!)

Target: Visual Studio 2013 and .NET 4.5.1
Phase II:
Now that version 4.0 of the .NET framework has been released, I'll be gradually moving this project into a second "phase". In the first phase the focus was on identifying useful libraries and guidance that could contribute to a powerful and flexible sandbox for advanced experiments and prototyping of fairly complex systems. Most of the heavy lifting, of course, is provided by the constituent parts that have been developed elsewhere. And that, in case you were wondering, is the whole point of this humble exercise.

Now let us see what obtains as we strive to "compose" a larger system out of prefabricated building blocks developed by the leading providers of architectural guidance for our platform of choice. You may have noticed that there has been some exploration of the "auxilliary" apparati that might be put to good use and that quest will not be abandoned. But for the moment, the focus is going to narrow a bit to begin construction with a core set of "mature" resources:

Download Version Description
Enterprise Library 5.0 MS P&P: "Cross-Cutting Concerns" (a.k.a. AOP)
Unity 2.0 MS P&P: Dependency Injection (IoC)
Prism 2.2 MS P&P: Composite WPF Application Library
CSLA 4.0 b2 "Mobile" Business Objects Library - Rockford Lhotka


Note that these are now all official release versions available on their original sites. They are all touted as compatible with .NET 4.0. Thus they will no longer need to be maintained here in any extensively modified form. However, Composure will likely continue to include the sources for these and some minor modifications may be necessary. Wherever this is the case, the modifications will be duly noted and fully explained.

Ultimately, I will be striving to include several different business logic and persistence layers to choose from: Entity Framework, Castle Active Record, NHibernate, and CSLA. I do not have a particular philosophical preference among these (or others). Each one of them has different strengths and weaknesses. It will be interesting to see which of them works best with the other frameworks (EntLib, Unity, Prism) in various situations.
Phase I Artifacts:
Some of the modified auxilliary frameworks that were posted here will remain available for download. But as versions start appearing compatible with the new .NET framework I'll be taking those down as well unless important modifications must be maintained specific to the build strategy of Composure solutions.

NOTE: An "NA" in the conversion column means the project now currently supports .NET 4.0 / Silverlight 4.

Auxilliary Packages

Originating Project Version Conversion Description
Caliburn 44007 NA Application Framework for WPF and Silverlight 4
Calcium 84609 NA Application Framework for WPF and Silverlight 4
AvalonDock 62949 NA Popular VS-Style WPF docking library
NHibernate 3.0.0.GA NA Robust Entity Persistence Framework
MEF 2P2 NA Interesting insight into the MEF implementation
log4net 1.2.10 LogNet4 A new branch of the venerable logging framework
CruiseControl.NET 2010-01-27 NET4 Recent trunk conversion of the Continous Integration framework
Gallio 3.2.260.x NET4 Automation framework with an emphasis on testing
NUnit 2.5.3 NET4 A widely used testing framework
xUnit 53389 NET4 Recent drop of another popular testing framework
Moq 4.0.812.4 NET4 A popular and easy to use mocking framework
MS Web Test LW Nov 5 2009 NET4 Snazzy little tool for web testing (first part of an AJAX port)
MS AJAX Library 46266 NET4 Microsoft's AJAX Library
CassiniDev 40745 NET4 A small and portable web server, ideal for simple testing.

Be sure to run the unit tests to understand where any problems lurk.

IMPORTANT WARNING!

These are MODIFIED VERSIONS OF THE ORIGINAL DROPS and they are to be used ONLY FOR EXPERIMENTAL AND EDUCATIONAL PURPOSES! I strive to use the absolute minimum amount of modification to create stable builds, but there is always a good chance that this will vary significantly from the approach that will be taken by the originating teams in their future release versions. There are guaranteed to be substantial differences in the way that each developer will choose to use new features of the latest framework. So it goes...

Special Thanks to Those Who Support Open Source Development:

JetBrains Resharper

Last edited Mar 3, 2015 at 7:56 PM by bstabile, version 242