static void Main(string[] args) { var dobbyContainer = new DobbyContainer(); dobbyContainer.Register <IMailSender, MailSender>(new SingletonLifetimeManager()); dobbyContainer.Register <ISmsSender, SmsSender>(); var smsSender = dobbyContainer.Resolve <ISmsSender>(); var mailSender = dobbyContainer.Resolve <IMailSender>(); var mailSenderSecondResolve = dobbyContainer.Resolve <IMailSender>(); smsSender.Send(); mailSender.Send(); mailSenderSecondResolve.Send(); var childContainer = dobbyContainer.CreateAndGetChildContainer(); var thirdMailSender = childContainer.Resolve <IMailSender>(); thirdMailSender.Send(); childContainer.Dispose(); var fourthMailSender = dobbyContainer.Resolve <IMailSender>(); fourthMailSender.Send(); Console.Read(); }
public static void Build() { var dobbyContainer = new DobbyContainer(); DobbyBootstrapper.Initialize(dobbyContainer); DependencyResolver.SetResolver(new DobbyDependencyResolver()); dobbyContainer.AddModule(new DobbyTypeRegistrationModule()); //RegisterTypes(); }
public void Execute(DobbyContainer dobbyContainer) { dobbyContainer.Register <IMessageService, MailService>(new PerRequestLifetimeManager()); }
public DobbyDependencyResolver() { _dobbyContainer = DobbyBootstrapper.GetContainer(); }
public static void Initialize(DobbyContainer container) { _container = container; }