Initial
This commit is contained in:
59
files/Wiring.cs
Normal file
59
files/Wiring.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using System;
|
||||
using Autofac;
|
||||
using Domain;
|
||||
|
||||
namespace Wiring
|
||||
{
|
||||
public class Wiring : IAdapterResolver, IDisposable
|
||||
{
|
||||
private readonly IContainer _container;
|
||||
|
||||
public Wiring()
|
||||
{
|
||||
_container = Wire();
|
||||
DomainPorts.SetResolver(this);
|
||||
}
|
||||
|
||||
static IContainer Wire()
|
||||
{
|
||||
var builder = new ContainerBuilder();
|
||||
|
||||
//builder.RegisterAssemblyTypes(typeof(ConsoleOutput).Assembly)
|
||||
// .Where(t => typeof(IStartable).IsAssignableFrom(t))
|
||||
// .As<IStartable>()
|
||||
// .SingleInstance();
|
||||
//builder.Register(c => new ConsoleOutput()).As<IOutput>().SingleInstance();
|
||||
|
||||
RegisterSecondaryPorts(builder);
|
||||
RegisterPrimaryPorts(builder);
|
||||
return builder.Build();
|
||||
}
|
||||
|
||||
private static void RegisterSecondaryPorts(ContainerBuilder builder)
|
||||
{
|
||||
// builder.RegisterType<LogRepository>().As<ILogRepository>().SingleInstance();
|
||||
// builder.RegisterType<ConfigRepository>().As<IConfigRepository>().SingleInstance();
|
||||
// builder.RegisterType<CacheRepository>().As<ICacheRepository>().SingleInstance();
|
||||
// builder.RegisterType<UnitOfWorkFactory>().As<IUnitOfWorkFactory>().SingleInstance();
|
||||
}
|
||||
|
||||
private static void RegisterPrimaryPorts(ContainerBuilder builder)
|
||||
{
|
||||
// builder.RegisterType<LogService>().As<ILogService>().SingleInstance();
|
||||
// builder.RegisterType<ConfigService>().As<IConfigService>().SingleInstance();
|
||||
// builder.RegisterType<CacheService>().As<ICacheService>().SingleInstance();
|
||||
}
|
||||
|
||||
public T Resolve<T>()
|
||||
{
|
||||
return _container.Resolve<T>();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (_container != null) {
|
||||
_container.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user