namespace Umbraco.Cms.Core.Composing
{
///
/// Represents a component.
///
///
/// Components are created by DI and therefore must have a public constructor.
/// All components are terminated in reverse order when Umbraco terminates, and
/// disposable components are disposed.
/// The Dispose method may be invoked more than once, and components
/// should ensure they support this.
///
public interface IComponent
{
///
/// Initializes the component.
///
void Initialize();
///
/// Terminates the component.
///
void Terminate();
}
}