我有一个“Adapter”类,它包装一个名为“X_Session”的对象。这个adpater需要一个ILogger和ICacheManager。
我想到的方法是用Unity定义这个类,让它解决作为构造函数输入放入的两个接口。
X_Session对象怎么样?它没有被Unity注册,因为我需要自己创建它,因为它的构造函数需要我从QueryString收集的输入参数。
我是否解析了Adpater类,然后设置了X_Session对象?其他更好的方法?
由于
答案 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注册工厂。