, . . . . , Program, Root of Composition.
public static class Program
{
public static void Main(string[] args)
{
var container = ConfigureContainer();
var application = container.Resolve<ApplicationLogic>();
application.Run(args);
}
private static IContainer ConfigureContainer()
{
var builder = new ContainerBuilder();
builder.RegisterType<ApplicationLogic>.AsSelf();
builder.RegisterType<Log>().As<ILog>();
return builder.Build();
}
}
public class ApplicationLogic
{
private readonly ILog log;
public ApplicationLogic(ILog log) {
this.log = log;
}
public void Run(string[] args) {
this.log.Write("Hello, world!");
}
}
, container.Resolve<ApplicationLogic>() ApplicationLogic, , ApplicationLogic, .., , . , , - ConfigureContainer(). 1 Resolve(), , , .