抽象工厂模式.ppt

抽象工厂模式.ppt

ID:49499754

大小:1.03 MB

页数:15页

时间:2020-02-06

抽象工厂模式.ppt_第1页
抽象工厂模式.ppt_第2页
抽象工厂模式.ppt_第3页
抽象工厂模式.ppt_第4页
抽象工厂模式.ppt_第5页
资源描述:

《抽象工厂模式.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C#设计模式AbstractFactory抽象工厂模式游戏开发场景中不同系列的对象的构造本章案例2抽象工厂模式——引子在某游戏场景中有道路,房屋,地道三种相互作用的实体,它们是一种风格的,现在需要产生一种新风格的道路,房屋,地道,作为游戏开发程序员的小新该如何设计程序来灵活创建这个新系列的道路,房屋和地道呢?3抽象工厂模式——定义定义提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类动机在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在更多系列对象的创建工作4抽象工厂模式——结构图5抽象工厂模式——原理抽象工厂实体工

2、厂2实体工厂1抽象产品A抽象产品B实体产品B1实体产品B2实体产品A1实体产品A2客户6抽象工厂模式——参与者抽象工厂(AbstractFactory)声明生成抽象产品的方法。具体工厂(ConcreteFactory)实现生成抽象产品的方法,生成一个具体的产品。抽象产品(AbstractProduct)为一种产品声明接口。具体产品(Product)定义具体工厂生成具体产品的对象,实现抽象产品接口。客户(Client)我们的应用程序,使用抽象产品和抽象工厂生成对象7抽象工厂模式——应用abstractclassFacilitiesFactory{publicabstrac

3、tRoadCreateRoad();publicabstractBuildingCreateBuilding();publicabstractTunnelCreateTunnel();}抽象工厂8抽象产品publicabstractclassRoad{}publicabstractclassBuilding{}publicabstractclassTunnel{}9具体产品publicclassModernRoad:Road{}publicclassModernBuilding:Building{}publicclassModernTunnel:Tunnel{}10pu

4、blicclassModernFactFactory:FacilitiesFactory{publicoverrideRoadCreateRoad(){returnnewModernRoad();}publicoverrideBuildingCreateBuilding(){returnnewModernBuilding();}}具体工厂11抽象工厂模式——应用classGameManager{FacilitiesFactoryfacty;Roadroad;Buildingbuilding;publicGameManager(FacilitiesFactoryfacty

5、){this.facty=facty;}publicvoidCreateObjs(){road=facty.CreateRoad();building=facty.CreateBuilding();}publicvoidRun(){road.AAA();building.BBB(road);}}客户程序客户请求抽象工厂抽象产品12调用GameManagerg=newGameManager(newModernFactFactory()); g.CreateObjs();g.Run();13总结如果没有应对“多系列对象构建”的需求变化,则无需使用抽象工厂模式“系列对象”是指

6、这些对象之间有相互依赖或作用的关系,例如游戏开发场景中的“道路”与“房屋”的依赖,“道路”与“地道”的依赖AbstractFactory主要用在应对新系列的需求变化,难以应对新对象的需求变动14谢谢!15

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。