IDependency Bootstrapping

Topics: General
Jul 15, 2011 at 6:21 AM

  I have a silly question.  Where exactly is the code that wires up all IDependency instances?  I'm assuming some scanning is taking place that wires up instances based on some convention.  Is this true?

Jul 15, 2011 at 8:53 AM

Orchard scans for classes implementing IDependency and registers them with Autofac, a dependency injection container. As I understand, Orchard adds a layer of abstraction around the dependency injection container, called a Shell which is a set of service instances matching a shell blueprint - the template for which modules, features, and services to use (all of this can be controlled by turning on/off modules, features, or even using OrchardSurpressDependency to override a service implementation with your own).

As far as I can tell, Orchard.Environment is the namespace which takes care of all of this.

So my question to you is - what are you trying to achieve?

Jul 15, 2011 at 1:42 PM

 Thanks kobowi.  I'll take a closer look within Orchard.Environment.  Really, I'm just trying to learn how Orchard was built from the ground up.  I'm very interested in learning about the philosophies and design principles that went into building this system.  I was curious about IDependency because I didn't see any explicit wiring up of this interface- just a bunch of implementations.