Lifecycle Artifacts

Overview

Component-based solutions leverage the principals of Inversersion of Control (IoC). This principal leads to the notion that a component should be supplied with the resources it needs in order to function. Another way of looking at this is that the component code should not be cluttered with content that is attempting to resolve resources relative to its environment. Through the application of a meta-info model a container has available to it a complete description of the component type and from this information can build the necessary resources that a component needs. These resources are supplied to a component through a set of standard Avalon lifecycle artificats. These include Logger , Context , Configuration , Parameters , and ServiceManager .

Two styles of artifact delivery are supported:

Delivery Strategies

injection The artifact injection strategy enables the passing of artifacts via the component constructor. This approach minimises lines of code dealing with establishment, enables the allocation of final variables, and eliminates the requirement for explict initialization or startup phases.
phased The phased artifact delivery strategy is based on a set of delivery interfaces ( LogEnabled , Contextualizable , Configurable , Parameterizable and Serviceable ). The advantage of phased delivery over the injection strategy relates to artifact re-assignment by a component management subsystem. Phased artifact delivery is the traditional approach used be earlier Avalon solutions.

Standard Artifacts

Artifact Description
Logger A component root logging channel.
Context A component runtime context.
ServiceManager A service manager from which dependent services may be accessed.
Configuration A static component configuration.
Parameters Static component parameters.