T3_设计模式_工厂方法模式.pptVIP

  • 5
  • 0
  • 约1.53千字
  • 约 14页
  • 2018-04-17 发布于江西
  • 举报
T3_设计模式_工厂方法模式.ppt

第三章  工厂方法模式 回顾 简单工厂模式的原理 简单工厂模式,有什么优缺点? 本章任务 创建模式 工厂模式(Factory) 简单工厂模式(Simple Factory) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory) 建造者模式(Builder) 原型模式(Prototype) 单例模式(Singleton) 工厂方法模式——引子 XX同学在买车的过程中,很挑剔想了解跑车和经济车的产 品,业务员该如何向这位同学推荐呢?请各位同学给业务员 出出主意,如何减少业务员的工作,方便的让这位同学买到 心仪的车呢? 用程序来演示整个买车过程。 工厂方法模式——定义 定义 父类负责定义创建对象的公共接口,而子类负责生成具体的对象,这样做的目的是将类的实例化操作延迟到子类中完成,即由子类来决定究竟应该实例化(创建)哪一个类。 别名 虚拟构造器模式(Virtual Constructor) 多态工厂模式(Polymorphic Factory) 工厂方法模式——结构图 工厂方法模式——参与者 参与者 产品角色(Product) 定义产品的接口。 真实的产品(Concrete Product) 实现接口产品角色的类。 工厂角色(Creator) 声明工厂方法,返回一个产品。 真实的工厂(Concrete Creator) 实现工厂方法,由客户调用,返回一个产品的实例。 工厂方法模式——应用 工厂方法模式——应用 工厂方法模式——应用 工厂方法模式——优缺点 优缺点 优点 基于工厂角色和产品角色的多态性设计。所有具体工厂类都具有同一抽象父类。 在系统中加入新产品时,无需修改抽象工厂和抽象产品提供的接口及客户端,只需添加具体工厂和具体产品。 缺点 添加新产品时,需编写新的具体产品类,还要提供与之对应的具体工厂类。 工厂方法模式——适用性 适用性 类不知道自己要创建哪一个对象 类用它的子类来指定创建哪个对象 客户需要清楚创建了哪一个对象 总结 简单描述下,什么是工厂方法模式? 工厂方法模式,有什么优缺点? * * abstract class AbstractBwmCar { } 产品角色 class BmwSportCar : AbstractBwmCar { public BmwSportCar() { Console.WriteLine(跑车); } } 真实的产品 abstract class AbstractFactory { public abstract AbstractBwmCar CreateBwmCar(); } 工厂角色 class SportCarFactory : AbstractFactory { public override AbstractBwmCar CreateBwmCar() { return new BmwSportCar(); } } 真实的工厂 class Client { public void Buy() { AbstractFactory factory = new SportCarFactory(); AbstractBwmCar car = factory.CreateBwmCar(); } } 客户

文档评论(0)

1亿VIP精品文档

相关文档