UnityContainer和构造函数参数

时间:2010-11-24 07:25:31

标签: unity-container design-patterns

我有一个“Adapter”类,它包装一个名为“X_Session”的对象。这个adpater需要一个ILogger和ICacheManager。

我想到的方法是用Unity定义这个类,让它解决作为构造函数输入放入的两个接口。

X_Session对象怎么样?它没有被Unity注册,因为我需要自己创建它,因为它的构造函数需要我从QueryString收集的输入参数。

我是否解析了Adpater类,然后设置了X_Session对象?其他更好的方法?

由于

2 个答案:

答案 0 :(得分:0)

另一个想法是在运行时在Unity容器内注册X_Session对象,然后让Unity注入所有依赖项。

答案 1 :(得分:0)

同样,抽象工厂很简单:

public interface IAdapterFactory {
   Adapter Create(ISession session);
}

public class AdapterFactoryImpl : IAdapterFactory  {
   public AdapterFactoryImpl(IDependency dep) {
       this._dep = dep;
   }

   public Adapter Create(ISession input) { 
     return new Adapter(_dep, input);
   }
}

你必须在Unity注册工厂。