php设计模式之工厂方法模式分析【星际争霸游戏案例】
(编辑:jimmy 日期: 2025/12/29 浏览:3 次 )
本文实例讲述了php设计模式之工厂方法模式。分享给大家供大家参考,具体如下:
PHP手册上提到的工厂模式,其实是简单工厂模式。这里来讨论简单工厂模式的扩展:工厂方法模式。
待解决的问题:虽然简单工厂解决了动态返回不同类型对象的问题,但是实际情况当中,往往在新建一个对象的时候,需要做一些额外处理,比如制造机枪兵的时候需要判断水晶矿是否大于50,而制造火焰兵的时候需要同时判断水晶矿是否大于50和气矿大于25,还有是否建造了研究院。如果把这些代码全部放到工厂制造类里面,会使得制造类很臃肿,而且随着工厂生产的对象的种类越来越多,工厂制造类的代码会越来越难以维护。
思路:简单工厂模式中的工厂类(兵种制造器的类)保持不变,增加一个制造接口,定义一个实际制造对象的方法,然后定义各个具体制造不同对象的工厂,同时要求这些工厂执行这个制造接口,让这些工厂去实现实际制造对象的方法。
工厂方法模式示例:
我们把机枪兵类和制造机枪兵的类的代码放入一个文件,Marine.php,它的代码如下:
<"htmlcode">上一篇:php设计模式之抽象工厂模式分析【星际争霸游戏案例】<"htmlcode"><"_blank" href="//www.jb51.net/Special/43.htm">php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》希望本文所述对大家PHP程序设计有所帮助。
下一篇:php面向对象基础详解【星际争霸游戏案例】