您好,欢迎访问一九零五行业门户网

php设计模式之简单工厂模式详解,php设计模式详解_PHP教程

php设计模式之简单工厂模式详解,php设计模式详解本文以实例形式较为详细的介绍了php设计模式的简单工厂模式,对于进行php程序设计来说有很好的借鉴作用。具体如下:
一、概念
简单工厂模式 【静态工厂方法模式】(static factory method)
是类的创建模式
工厂模式的几种形态:
1、简单工厂模式(simple factory)又叫做 静态工厂方法模式(static factory method)
2、工厂方法模式(factory method)又叫做 多态性工厂模式(polymorphic factory)
3、抽象工厂模式(abstract factory)又叫做 工具箱模式(toolkit)
二、配图分析:
三、代码实例
该实例代码经过测试可以运行,具体如下:
treeage; } //设置苹果树的年龄 public function settreeage($age){ $this->treeage = $age; return trie; }}/** * 定义具体产品类 葡萄 * 首先,我们要实现所继承的接口所定义的方法 * 然后定义葡萄所特有的属性,以及方法 */class grape implements fruit{ //葡萄是否有籽 private $seedless; public function grow(){ echo apple grow; } public function plant(){ echo apple plant; } public function harvest(){ echo apple harvest; } public function eat(){ echo apple eat; } //有无籽取值 public function getseedless(){ return $this->seedless; } //设置有籽无籽 public function setseedless($seed){ $this->seedless = $seed; return true; }}/** *农场主类 用来获取实例化的水果 * */class farmer{ //定义个静态工厂方法 public static function factory($fruitname){ switch ($fruitname) { case 'apple': return new apple(); break; case 'grape': return new grape(); break; default: throw new badfruitexception(error no the fruit, 1); break; } }}class badfruitexception extends exception{ public $msg; public $errtype; public function __construct($msg = '' , $errtype = 1){ $this->msg = $msg; $this->errtype = $errtype; } }/** * 获取水果实例化的方法 */try{ $appleinstance = farmer::factory('apple'); var_dump($appleinstance);}catch(badfruitexception $err){ echo $err->msg . _______ . $err->errtype;}
希望本文所述实例对大家php程序设计有所帮助。
php设计模式: 写出工厂模式与单态模式的php5示例代码
example #1 调用工厂方法(带参数)
------------------------------------
example #2 单例模式
设计模式简单工厂模式
工厂是指生产实例的地方。那就简单一个,直接命名为createinstance()。此方法通常是静态的,而且还会带有参数和返回值。举个例子:例如牛、羊、马、狗都继承动物类,那createinstance()的返回值应该为 动物(因为工厂就是生产动物的嘛,所以返回值也应该为动物),参数应该为动物名称(这样工厂根据名称才知道你要生产哪种动物啊)。这样就可以根据传入的的动物名称,产生一个动物实例。createinstance的实现:switch(动物名称) case 牛:return new 牛();case 羊:return new 羊();case 马:return new 马();case 狗:return new 狗();
http://www.bkjia.com/phpjc/874635.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/874635.htmltecharticlephp设计模式之简单工厂模式详解,php设计模式详解 本文以实例形式较为详细的介绍了php设计模式的简单工厂模式,对于进行php程序设计来说...
其它类似信息

推荐信息