public LibraryService(IBorrowInfoRepository borrowInfoRepository, IBookStoreInfoRepository bookStoreInfoRepository, IBookOutInfoRepository bookOutInfoRepository) { this.bookOutInfoRepository = bookOutInfoRepository; this.bookStoreInfoRepository = bookStoreInfoRepository; this.borrowInfoRepository = borrowInfoRepository; }
public LibraryService(IBorrowInfoRepository borrowInfoRepository) { this.borrowInfoRepository = borrowInfoRepository; }
private static void InitializeIocAndFramework() { //初始化IoC, 将IoC保存到静态变量中,以便永久保存该对象 IUnityContainer container = new UnityContainer(); UnityContainerHolder.UnityContainer = container; IUnityContainer unityContainer = container.RegisterType<IUnitOfWork, UnitOfWork>(new ContainerControlledLifetimeManager()); //container.RegisterType<IEventPublisher, EventPublisher>(new ContainerControlledLifetimeManager()); container.RegisterType<ILibraryService, LibraryService>(new ContainerControlledLifetimeManager()); container.RegisterType<ILibraryAccountRepository, LibraryAccountRepository>(new ContainerControlledLifetimeManager()); container.RegisterType<IBookRepository, BookRepository>(new ContainerControlledLifetimeManager()); container.RegisterType<IBorrowInfoRepository, BorrowInfoRepository>(new ContainerControlledLifetimeManager()); container.RegisterType<IBookStoreInfoRepository, BookStoreInfoRepository>(new ContainerControlledLifetimeManager()); container.RegisterType<IBookOutInfoRepository, BookOutInfoRepository>(new ContainerControlledLifetimeManager()); container.RegisterType<ITraceManager, TraceManager>(new ContainerControlledLifetimeManager()); container.RegisterType<IDatabaseFactory, DatabaseFactory>(new ContainerControlledLifetimeManager()); //初始化Domain DomainInitializer.Current.InitializeDomain(typeof(Book).Assembly); DomainInitializer.Current.ResolveDomainEvents(typeof(Book).Assembly); bookRepository = IoCFactory.Instance.CurrentContainer.GetInstance<IBookRepository>(); libraryAccountRepository = IoCFactory.Instance.CurrentContainer.GetInstance<ILibraryAccountRepository>(); borrowInfoRepository = IoCFactory.Instance.CurrentContainer.GetInstance<IBorrowInfoRepository>(); library = IoCFactory.Instance.CurrentContainer.GetInstance<ILibraryService>(); }