public interface IA
{
string GetA();
}
public interface IB
{
string GetB();
}
public class A : IA
{
public string GetA()
{
return "A";
}
}
public class B : IB
{
IA _a;
public B(IA a)
{
_a = a;
}
public string GetB()
{
return this._a.GetA();
}
}
z注入:
UnityContainer container = new UnityContainer();
container.RegisterType<IA, A>();
container.RegisterType<IB, B>();
IB ib = container.Resolve<IB>();
return ib.GetB();
所有用到的接口都要注册
public B(IA a)===》IA a 已经有Unity 创建
设计模式中的一个原则:针对接口编程,不要针对实现编程。