【发布时间】:2011-10-11 11:43:49
【问题描述】:
我在尝试弄清楚如何执行以下操作时遇到了一点问题。如果以下内容看起来很愚蠢,我很抱歉,只是 Castle.Windsor 的新手。
对,在我的应用程序存储库中应该指向不同的数据库。它们都共享一个抽象类(Db 方法抽象),但它们之间没有关联。 所以我有这样的事情:
public class UserService : IUserService
{
private readonly IUserRepository _repository;
public UserService(IUserRepository repository) { _repository = repository; }
...
}
public class UserRepository : Mongo, IUserRepository
{
public UserRepository(DatabaseHosts.Users UsersHost) : base(UsersHost) { }
...
}
所有配置设置都是强类型的,到目前为止,我正在调用设置服务的安装程序,然后再调用其余部分的安装。
我的问题是:我必须注册服务和存储库还是缺少一些东西?
我认为,我们可以允许从服务访问 DbHost 属性,但我不喜欢。 我们还有可能需要某种初始化的外部系统的提供程序。
到目前为止,我有这样的事情:
public class ServicesInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(Component.For<IUserService>()
.ImplementedBy<IUserService>()
.LifeStyle.Singleton);
}
}
塔
【问题讨论】:
标签: domain-driven-design castle-windsor