【发布时间】:2009-12-08 15:49:23
【问题描述】:
我正在尝试为我的 IOC 容器创建一个接口包装器,因此我不必依赖特定的容器。我的问题是我接受的一些服务类的 companyID 是一个字符串。我想制作像
这样的通用接口方法T Resolve<T>() 其中 T 是服务接口。
现在我在幕后使用 StructureMap 并知道具体的构造函数是否接受 companyID,所以我将执行以下操作:
ObjectFactory.With("companyid").EqualTo("someCompanyID").GetInstance<ICompanyService>();
我将这种调用封装在一个接口方法中:
ICompanyService GetCompanyService(string companyID)
按照我现在的方式,应用程序必须初始化 StructureMaps 配置,并且传递回服务的具体类必须了解很多关于构造函数的信息。我希望这种情况不会发生,并使包装器具有通用性。有没有什么好办法,不用在界面上的每个方法都加上companyID?
【问题讨论】:
标签: c# architecture inversion-of-control structuremap