工厂模式主要的思想是将对象的创建集中在一个工厂中,而需要创建的对象根据指定的标示(switch)来创建出想要的对象,一般来说创建的对象是继承在同一个类下,因为这样的结构会很容易返回一个类的类型最终进行使用。
练习代码
namespace WindowsFormsApplication1 { public enum Handle { Add, Sub } class HandleFactory { public static HandleCompute GetCompute(Handle handle) { HandleCompute handleCom = null; switch(handle) { case Handle.Add : { handleCom = new Add(); break; } case Handle.Sub: { handleCom = new Sub(); break; } } return handleCom; } } class HandleCompute { public virtual double GetResult(double a,double b) { return a + b; } } class Add : HandleCompute { public override double GetResult(double a, double b) { return a + b; } } class Sub : HandleCompute { public override double GetResult(double a, double b) { return a - b; } } }
当想要扩展新的操作的时候就非常简单了