肯德基:抽象工厂模式

肯德基:抽象工厂模式

ID:37924692

大小:470.10 KB

页数:15页

时间:2019-06-02

肯德基:抽象工厂模式_第1页
肯德基:抽象工厂模式_第2页
肯德基:抽象工厂模式_第3页
肯德基:抽象工厂模式_第4页
肯德基:抽象工厂模式_第5页
资源描述:

《肯德基:抽象工厂模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章肯德基:抽象工厂模式3.1发生在肯德基的故事3.2模式定义3.3故事中的模式分析3.4故事的抽象工厂模式实现3.5设计原则3.6使用场合3.7本章要点3.1发生在肯德基的故事图3-1肯德基商标3.2模式定义抽象工厂模式(AbstractFactoryPattern)提供了一个接口,用于创建相关或者依赖对象的家族,而不需要指定具体实现类。抽象工厂模式允许客户使用抽象接口来创建一组相关的产品,客户类和工厂类分开,客户需要任何产品的时候,只需要向工厂请求即可,客户无须修改就可以获得新产品。3.3故事中的模式分析3.3.1故事

2、中的角色各自对应的角色如下所示:肯德基店—生产食物的工厂食物(麻辣鸡腿汉堡、奥尔良烤鸡翅、薯条、可乐)—工厂生产的产品爸爸、儿子—客户以上三种角色的关系如图3-2所示。3.3.2抽象化分析对图3-2进行抽象化改进,如图3-3(a)所示。3.3.2抽象化分析现在客户—肯德基—食物三者之间的关系已经理顺了,下面进行静态化建模,通过类图加深对各个类之间关系的认识,如图3-3(b)所示。3.3.3抽象工厂模式的静态建模图3-3(b)中所表达的内容是客户需要食物只要向抽象工厂请求即可,由具体工厂生产具体产品给客户。3.4故事的抽象工厂

3、模式实现3.4.1抽象食物的建立1.抽象食物——AbstractBaseFood2.食物接口——IFood3.4.2建立不同食物的抽象基类1.汉堡基类——Hamburg2.鸡翅基类——ChickenWings3.薯条基类——FrenchFries4.饮料基类——Beverage3.4.3创建具体的食物1.麻辣鸡腿汉堡——ChinaHanburm2.奥尔良烤鸡翅——ChinaChickenWings3.薯条——ChinaFrenchFries4.可乐——ChinaBeverage3.4.4建立工厂1.创建抽象肯德基工厂——IK

4、fcFactory生产抽象食物2.创建具体肯德基工厂——ChinaKfcFactory生产具体食物3.4.5创建客户类——Customer在“custom”包中新建客户类Customer,客户类中含有一个抽象工厂IKfcFactory类型的实例变量kfcFactory,客户类Customer通过构造方法将肯德基店实例传入,客户需要食物的时候,就向肯德基店(工厂)请求,客户不生产食物(不使用new生成对象)。3.5设计原则1.多用对象组合,少用继承2.针对抽象编程,不针对实现编程3.产品对象通过工厂暴露的方法创建3.6使用场合

5、(1)创建产品家族,相关产品集合在一起使用的时候;(2)想要提供一个产品类库,并只想显示其接口而不是实现时;(3)通过组合的方式使用工厂时。3.7本章要点1.抽象工厂模式2.设计原则3.抽象工厂模式和工厂方法模式的区别4.抽象工厂模式的使用场合

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

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

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