设计模式——抽象工厂,简单工厂和工厂方法

时间:2022-09-23 21:59:37

简单工厂:根据外来参数判断创建的实例。一般使用 If 或者 switch。

工厂方法:项目中只有一个抽像类,只建造一个工厂就可以完成项目。

抽象工厂:项目中不止一个抽象类,需要为每一个类建造一座工厂。

 

 

工厂方法是一个特殊的抽象工厂。

 

在为每一个抽象类建造工厂时,可以直接new出具体的实体产品类,也可以使用反射机制

Type type = Type.GetType("OperatingLibrary.UseTheUnitImplementation", true);
UseTheUnit = (UseTheUnitImplementation)Activator.CreateInstance(type);

或者

另一种方法创建实体工厂对象Assembly.Load(程序集名称).CreateInstance(命名空间.类名)

IFactory carFactory = Assembly.Load("ConsoleApplication2").CreateInstance(factoryType) as IFactory;
return carFactory;