设计模式:工厂方法模式(Factory Method)
2014-02-11 11:16
495 查看
定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。
工厂方法使一个类的实例化延迟到其子类。
结构图:
View Code
简单工厂模式和工厂方法模式比较:
简单工厂:最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相应的类,对于客户端来说,
去除了与具体产品的依赖。(违反了开闭原则)
工厂方法:将必要的判断逻辑放在客户端,这样在增加新的产品类时只需要增加相应的工厂类,而不需要修改原来的类,遵
守了开闭原则。
工厂方法使一个类的实例化延迟到其子类。
结构图:
protected void btnCalculate_Click(object sender, EventArgs e) { IFactory factory = null; string type = ddlType.SelectedValue; switch (type) { case "+": factory = new AddFactory(); break; case "-": factory = new SubFactory(); break; case "*": factory = new MulFactory(); break; case "/": factory = new DivFactory(); break; } try { Operation operation = factory.CreateOpertion(); operation.NumberA = Convert.ToInt32(txtNumberA.Text); operation.NumberB = Convert.ToInt32(txtNumberB.Text); txtResult.Text = operation.GetResult().ToString(); } catch (Exception ex) { lblMsg.Text = ex.Message; } }
View Code
简单工厂模式和工厂方法模式比较:
简单工厂:最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相应的类,对于客户端来说,
去除了与具体产品的依赖。(违反了开闭原则)
工厂方法:将必要的判断逻辑放在客户端,这样在增加新的产品类时只需要增加相应的工厂类,而不需要修改原来的类,遵
守了开闭原则。
相关文章推荐
- 设计模式:(1)工厂方法模式(Factory Method)
- 设计模式之一---工厂方法模式【Factory Method模式】
- [设计模式]工厂方法模式(factory method)
- 设计模式学习(创建型模式)—工厂方法模式(Factory Method)
- Java设计模式-工厂方法模式(Factory Method)
- .NET设计模式(5):工厂方法模式(Factory Method)
- 工厂方法模式(Factory Method)-最易懂的设计模式解析
- 设计模式之一---工厂方法模式【Factory Method模式】 (java版)
- C#设计模式之工厂模式(Factory)--02 工厂方法模式(Factory Method)
- 设计模式之一---工厂方法模式【Factory Method模式】
- 设计模式之一---工厂方法模式【Factory Method模式】
- 设计模式-工厂方法模式(Factory Method)
- 设计模式1-工厂方法模式(Factory Method)
- 23种设计模式之-----工厂方法模式(Method Factory pattern)
- 设计模式总结篇系列:工厂方法模式(Factory Method)
- 设计模式之Factory Method(工厂方法模式)
- Java设计模式-工厂方法模式(Factory Method)
- 设计模式之--工厂方法模式(FactoryMethod )
- Java开发之设计模式--工厂方法模式(Factory Method)
- 设计模式之五:工厂方法模式(Factory Method)