欢迎来到天天文库
浏览记录
ID:49499422
大小:1.03 MB
页数:17页
时间:2020-02-06
《T4_设计模式_抽象工厂模式.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第四章抽象工厂模式工厂方法模式的原理工厂方法模式,有什么优缺点?回顾创建模式工厂模式(Factory)简单工厂模式(SimpleFactory)工厂方法模式(FactoryMethod)抽象工厂模式(AbstractFactory)建造者模式(Builder)原型模式(Prototype)单例模式(Singleton)本章任务抽象工厂模式——引子XX同学在买车的过程中,突然改变主意,想多了解点其他品牌的车子?请各位同学给这位同学出出主意,如何方便的让这位同学买到心仪的车呢?用程序来演示整个买车过程。抽象工厂模式——定义定义提供一
2、个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类别名Kit模式抽象工厂模式——结构图抽象工厂模式——原理抽象工厂实体工厂2实体工厂1抽象产品A抽象产品B实体产品B1实体产品B2实体产品A1实体产品A2客户抽象工厂模式——参与者参与者抽象工厂(AbstractFactory)声明生成抽象产品的方法。具体工厂(ConcreteFactory)执行生成抽象产品的方法,生成一个具体的产品。抽象产品(AbstractProduct)为一种产品声明接口。具体产品(Product)定义具体工厂生成的具体产品的对象,实现产品接口。客
3、户(Client)我们的应用程序,使用抽象产品和抽象工厂生成对象抽象工厂模式——应用abstractclassAbstractFactory{publicstaticAbstractFactoryCreateFactory(stringtype){AbstractFactoryfactory=null;switch(type){case"Bmw":factory=newBmwFactory();break;case"Audi":factory=newAudiFactory();break;}returnfactory;}publ
4、icabstractAbstractSportsCarCreateSportsCar();publicabstractAbstractBussinessCarCreateBussinessCar();}抽象工厂简单工厂模式抽象工厂模式——应用classBmwFactory:AbstractFactory{publicoverrideAbstractSportsCarCreateSportsCar(){returnnewBmw.BmwSportsCar();}publicoverrideAbstractBussinessCarCr
5、eateBussinessCar(){returnnewBmw.BmwBussinessCar();}}具体工厂抽象工厂模式——应用abstractclassAbstractSportsCar{}抽象产品classBmwSportsCar:AbstractSportsCar{publicBmwSportsCar(){Console.WriteLine("宝马中的跑车");}}具体产品抽象工厂模式——应用classClient{publicvoidBuy(){AbstractFactoryfactory=AbstractFacto
6、ry.CreateFactory("Bmw");factory.CreateSportsCar();}}客户客户请求抽象工厂抽象产品抽象工厂模式与反射usingSystem.Reflection;Assembly.Load(“程序集名”).CreateInstance(“命名空间.类名称");抽象工厂模式——优缺点优缺点优点隔离了具体类的生成,使得客户不需要知道什么被创建了。当一个产品族中的多个对象被设计成一起工作时,它能够保证客户端始终只使用同一个产品族中的对象。缺点添加新的产品对象时,难以扩展抽象工厂以便生产新种类的产品。抽
7、象工厂模式——适用性适用性系统需要屏蔽有关对象如何创建,如何组织和如何表示系统需要由关联的对象来构成有关联的多个对象需要一起应用并且它们的约束是强迫的(不可分离)你想提供一组对象而不显示它们的实现过程,只显示它们的接口总结简单描述下,什么是抽象工厂模式?抽象工厂模式,有什么优缺点?谢谢!
此文档下载收益归作者所有