namespace ZeroLevel.Patterns.DependencyInjection
{
///
/// Интерфейс с методами проведения композиций
///
public interface ICompositionProvider
{
#region Composition
///
/// Композиция, выполняет подстановку зарегистрированных контрактов в полях и свойствах объекта
///
/// Инстанс объекта
void Compose(object instanse, bool recursive = true);
///
/// Безопасная композиция, выполняет подстановку зарегистрированных контрактов в полях и свойствах объекта
///
/// Инстанс объекта
/// /// false - при сбое в попытке композиции объекта
bool TryCompose(object instanse, bool recursive = true);
#endregion
}
}