Architecture and Rationale of Common Configuration

Topics: Enterprise Library Core
Mar 14, 2007 at 4:39 PM
I've been looking into the Configuration of the library and can't seem to find any meaningful design documentation relating to common configuration. Basically, things like the high level architectural design, the extension points from the .NET Framework extensions and the rationale for the approaches.

Is that stuff present anywhere? I ask as it appears to be rather overly complex for what it should need to do.
Mar 14, 2007 at 6:14 PM
There is a section in the documentation, called Design of the Enterprise Library, that does a pretty good job talking about the Core Architecture, which includes the configuration, instrumentation, dependency injection, design patterns, providers, etc.

The configuration leverages System.Configuration in the .NET 2.0 Framework and per the documentation:

To support extensibility in the Enterprise Library, configuration includes helper classes in addition to those
classes found in the System.Configuration namespace. These helper classes support polymorphic collections, generic
collections, and configuration sources. These enhancements require configuration to be based on the Dependency
Injection pattern instead of the Provider pattern, as is the case with the System.Configuration namespace.

I am not sure what seems overly complex other than the verbosity of XML, which always looks horribly complex no matter what development tool you are using. Thankfully we have the Graphical Configuration Tool in Enterprise Library that keeps us from having to look at it.




David Hayden
Microsoft MVP C#