欢迎来到天天文库
浏览记录
ID:50908155
大小:899.01 KB
页数:14页
时间:2020-03-15
《T3_设计模式_工厂方法模式.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章工厂方法模式简单工厂模式的原理简单工厂模式,有什么优缺点?回顾创建模式工厂模式(Factory)简单工厂模式(SimpleFactory)工厂方法模式(FactoryMethod)抽象工厂模式(AbstractFactory)建造者模式(Builder)原型模式(Prototype)单例模式(Singleton)本章任务工厂方法模式——引子XX同学在买车的过程中,很挑剔想了解跑车和经济车的产品,业务员该如何向这位同学推荐呢?请各位同学给业务员出出主意,如何减少业务员的工作,方便的让这位同学买到心仪
2、的车呢?用程序来演示整个买车过程。工厂方法模式——定义定义父类负责定义创建对象的公共接口,而子类负责生成具体的对象,这样做的目的是将类的实例化操作延迟到子类中完成,即由子类来决定究竟应该实例化(创建)哪一个类。别名虚拟构造器模式(VirtualConstructor)多态工厂模式(PolymorphicFactory)工厂方法模式——结构图工厂方法模式——参与者参与者产品角色(Product)定义产品的接口。真实的产品(ConcreteProduct)实现接口产品角色的类。工厂角色(Creator)声明
3、工厂方法,返回一个产品。真实的工厂(ConcreteCreator)实现工厂方法,由客户调用,返回一个产品的实例。工厂方法模式——应用abstractclassAbstractBwmCar{}产品角色classBmwSportCar:AbstractBwmCar{publicBmwSportCar(){Console.WriteLine("跑车");}}真实的产品工厂方法模式——应用abstractclassAbstractFactory{publicabstractAbstractBwmCarCrea
4、teBwmCar();}工厂角色classSportCarFactory:AbstractFactory{publicoverrideAbstractBwmCarCreateBwmCar(){returnnewBmwSportCar();}}真实的工厂工厂方法模式——应用classClient{publicvoidBuy(){AbstractFactoryfactory=newSportCarFactory();AbstractBwmCarcar=factory.CreateBwmCar();}}客户工
5、厂方法模式——优缺点优缺点优点基于工厂角色和产品角色的多态性设计。所有具体工厂类都具有同一抽象父类。在系统中加入新产品时,无需修改抽象工厂和抽象产品提供的接口及客户端,只需添加具体工厂和具体产品。缺点添加新产品时,需编写新的具体产品类,还要提供与之对应的具体工厂类。工厂方法模式——适用性适用性类不知道自己要创建哪一个对象类用它的子类来指定创建哪个对象客户需要清楚创建了哪一个对象总结简单描述下,什么是工厂方法模式?工厂方法模式,有什么优缺点?谢谢!
此文档下载收益归作者所有