首页 > 作文

PHP设计模式之抽象工厂模式实例分析

更新时间:2023-04-07 09:46:13 阅读: 评论:0

本文实例讲述了php设计模式之抽象工厂模式。分享给大家供大家参考,具体如下:

前面的文章说了php下的简单工厂(静态工厂) 和工厂模式,现在说一下抽象工厂模式

工厂模式我们已经说过,增加一个产品很简单,增加对应的产品类和工厂类,不需要对原有代码进行改动,符合开闭原则

现在接着上篇文章,我们又有了新的需求,我们要求苹果味饮料和香蕉味饮料,有百事和可口可乐两个品牌,用工厂模式,就实现不了了,我只能增加单一的产品,但是增加品牌我实现不了,引申而出抽象工厂模式,代码如下

<?php/** * created by phpstorm. * ur: tiansi * date: 18/1/23 * time: 下午5:10 *///工厂接口interface fruitfactory{  //生产饮料方法  function makeapplefruit();  function makebananafruit()发展党员大会议程;}//饮料接口interface fruit{  function getfruitname();}class baishiapplefruit implepromotements fruit{  function getfruitname()  {    echo '百事苹果味饮料';  }}class baishibananafruit implements fruit{  function getfruitname()  {    echo '百事香蕉味饮料';  }}class coleiapplefruit implements fruit{  function getfruitname()  {    echo '可口可乐苹果味饮料';  }}class colebananafruit implements fruit{  function getfruitname()  {    echo '可口可乐香蕉味饮料';  }}//百事饮料工厂class baishifruitfactory implements fruitfactory{  function makeapplefruit()  {    //生产百事苹果饮料    return new changchengbaishiapplefruit();  }  function makebananafruit()  {    //生产百事香蕉饮料    return new baishibananafruit();  }}//可口可乐饮料工厂class colefruitfactory implements fruitfactory{  function makeapplefruit()  {    //生产可口可乐苹果饮料    return new coleiapplefruit();  }  function makebananafruit()  {    //生产可口可乐香蕉味饮料    return new colebananafruit();  }}$baishi_facto最美孝心少年颁奖典礼观后感ry = new baishifruitfactory();$baishi_factory->makeapplefruit()->getfruitname();echo "<br/>";$baishi_factory->makebananafruit()->getfruitname();echo "<br/>";$cole_factory = new colefruitfactory();$cole_factory->makeapplefruit()->getfruitname();echo "<br/>";$cole_factory->makebananafruit()->getfruitname();

运行结果:

百事苹果味饮料
百事香蕉味饮料
可口可乐苹果味饮料
可口可乐香蕉味饮料

现在我们可以看到 如果想要再增加一个品牌的话 只需要再写一个工厂类 并写上对应的产品类 就可以在不改动原有代码的前提下 成功增加品牌

但是这会儿想要再增加一个单一产品,就很麻烦了,需要更改工厂类,这就是工厂和抽象工厂的区别

工厂模式针对于单秋夜将晓出篱门迎凉有感陆游一产品,一个产品抽象类,每个工厂只能创建一个产品,支持扩展单个产品,不支持扩展产品族,针对一个产品等级结构

抽象工厂针对于产品族,多个产品抽象类,每个工厂能创建多个产品,支持扩展产品族,不支持扩展单个产品,针对多个产品等级结构

更多关于php相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《php数组(array)操作技巧大全》、《php基本语法入门教程》、《php运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家php程序设计有所帮助。

本文发布于:2023-04-07 09:46:11,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/0fedada30f859562ce05770ad77d1897.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP设计模式之抽象工厂模式实例分析.doc

本文 PDF 下载地址:PHP设计模式之抽象工厂模式实例分析.pdf

标签:工厂   饮料   可口可乐   百事
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图