我正在尝试在C#中使用通用抽象工厂
我正在关注这个例子: http://www.codeproject.com/Articles/21043/Generic-Abstract-Factory
我有两个问题。
第一:依赖注入(我使用Unity)
public class ClientFactory
{
private readonly IFactory<Car> _carFactory;
public ClientFactory(IFactory<Car> carFactory)
{
_carFactory = carFactory;
}
}
我称之为:
var client = new ClientFactory(new Car()); //(this is what the IoC does)
现在能够注入fakeCar
我做了这个:
public class CarFake : IFactory<Car>
{
public TProduct Build<TProduct>() where TProduct : IProduct<Car>, new()
{
Console.WriteLine("Creating FakeCar: " + typeof(TProduct));
return new TProduct();
}
}
所以,称之为:
var client = new ClientFactory(new CarFake()); Is this ok?
第二个问题是:
如何将参数传递给具体产品(构造函数参数),让我们说Honda(long id, string model)
,我想说:
IProduct<Car> carProducta = _carFactory.Build< Honda(Id:1,Model:"Civic") >();
非常感谢您的帮助。