- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chap7简单工厂模式
* 一、简单工厂模式的概念与结 构 二、简单工厂模式规范描述 三、简单工厂模式设计中用到 的设计原则 一、简单工厂模式的概念与结构 1、问题的提出 某农场种植并向市场销售葡萄、草莓和苹果这三种水果,现客户要向该农场了解某水果的生长、收获和种植情况,当用户输入某水果时即可查询相应该水果具体情况,请设计并实现该程序。。 2、基本思路 用户/客户不需要亲自去观测各种水果的生长、收获和种植情况,他只需要向农场主管部门打听就行了,农场主管部门依据客户需要的水果种类,发送水果情况单到农场具体水果部门,由具体水果部门填水果情况单,最后信息由农场主管部门返回到客户手中 。 一、简单工厂模式的概念与结构 2、基本思路 其各类角色如下: 一、简单工厂模式的概念与结构 工厂 :由客户端直接调用,在该类中声明一个创建对象的接口 (主管部门)。 抽象产品:具体产品的共同接口,是所要创建的对象(具本产品)的父类(表单属性)。 具体产品:由工厂所创建的对象(已填好的表单)。 具体各角色UML关系图: 3、GarderPlantFruit 工厂方法具体实现 由Visual c++ 6.0 编程完成。 一、简单工厂模式的概念与结构 4、GarderPlantFruit工厂方法代码分析 抽象产品 抽象接口类(父类) Class Fruit { Public: Virtual void grow () =0; Virtual void harvest () =0; Virtual void plant () =0; } 一、简单工厂模式的概念与结构 具体产品 实现实体类(子类) Class Apple: public Fruit { Apple () {} Void grow () { Printf (“Apple is growing ……\n”);} Void harvest () { Printf (“Apple is harvesting ……\n”);} Void plant () { Printf (“Apple is planting ……\n”);} ………… } 具体产品 实现实体类(子类) Class Strawberry: public Fruit { Strawberry () {} Void grow () { Printf (“Strawberry is growing ……\n”);} Void harvest () { Printf (“Strawberry is harvesting ……\n”);} Void plant () { Printf (“Strawberry is planting ……\n”);} ………… } 具体产品 实现实体类(子类) Class grape: public Fruit { grape () {} Void grow () { Printf (“grape is growing ……\n”);} Void harvest () { Printf (“grape is harvesting ……\n”);} Void plant () { Printf (“grape is planting ……\n”);} ………… } 4、GarderPlantFruit工厂方法代码分析 工厂 构造类接口 把和数据相关的问题与类的其它方法隔离 一、简单工厂模式的概念与结构 客户对工厂的使用 引用 调用 Int main ( int argc , char * argv[] ) { FruitGardener * frgd = new FruitGardener; Fruit * afruit = frga-factory (“Apple”); aFruit-grow (); aFrui-harvest (); aFrui- plant (); } 一、简单工厂模式的概念与结构 4、GarderPlantFruit简单工厂代码分析 概念 定义一个创建对象的接口,根据提供给它的数据,返回几个可能实体类中的一个类的实例,由工厂类根据传入的参量决定创建出哪一种产品类的实例,是一个静态接口,又叫静态工厂方法模式。 一、工厂方法模式的概念与结构 4、简单工厂模式的概念与结构 基本结构 一、简单工厂模式的概念与结构 4、简单工厂模式的概念与结构 Factory +CreateProduct() Abstract Product +Operation() Concrete Produ
您可能关注的文档
最近下载
- 基于大模型的生成式检索.pdf VIP
- 西门子伺服操作说明书-SINAMICS_V90_OPI.pdf VIP
- 电力工程施工安全与质量控制管理.docx VIP
- Packing List-装箱单表格模板.xls VIP
- 电力工程施工安全及质量控制管理.doc VIP
- 2025年最新版硫化氢考试题库大全集.doc VIP
- [江西]发电厂2×600mw级机组“上大压小”土建工程施工组织设计.doc VIP
- 《护患沟通技巧》ppt课件.pptx VIP
- 县乡教师选调进城考试《教育心理学》题库及答案(各地真题).docx VIP
- 发电厂“上大压小”2×600MW超临界空冷机组工程土建专业主要施工方案.docx VIP
文档评论(0)