The ComponentDependencyGraph (cdg) library allows you to define the dependencies between .NET components using a FluentInterface. Its purpose is to manifest the component architecture of an application in code.
Once this is done, the mapping for Dependency Injection (DI) containers (DIC) like Microsoft Unity or Ninject or Castle Windsor can be created from the dependency graph.
Most importantly, though, from the internal dependency graph a dependency diagram can be generated. The cdg thus is able to regenerate an architecture visualization at any time from code. It thereby helps to enforce the DRY principle: an application´s architecture needs not to be maintained in two places (documentation and code), but rather is kept in a single place: the code.
Although an architecural plan is always implicitly present in the code implementing it, it cannot easily be extracted from it as needed. Tools like NDepend might help - but they have a hard time depicting dynamic relationships between components when contracts and implementations are separated.
The cdg closes this gap by taking well established DIC mappings one step further in an DIC independent way.
Use Patent Claims
These details are provided for information only. No information here is legal advice and should not be used as such.