PHP設計模式工廠模式的使用方法
復制代碼 代碼如下:
<?php
/*
* 每日練習 PHP設計模式工廠模式的使用方法
* PHP工廠模式不難理解,顧名思義,就是一個加工廠,然後工廠是制造產品的,只要制造產品
* 就必須有幾個要素:"方法","模型","工廠車間"。
*/
/*第一種示例 普通工廠模式
* */
abstract class model {//產品模型
abstract function getNames();
}
class zhangsan extends model {//產品實例
function getNames(){
return "my name is zhengsan";
}
}
class lisi extends model{//產品實例
function getNames(){
return "my name is lisi";
}
}
abstract class gongchangModel {//工廠模型
abstract function getZhangsan();
abstract function getLisi();
}
class gongchang extends gongchangModel{//工廠實例
function getZhangsan(){
return new zhangsan();
}
function getLisi(){
return new lisi();
}
}
$gongchang=new gongchang();//實例化工廠
$zhangsan=$gongchang->getZhangsan();//制造產品
echo $zhangsan->getNames();//產品輸出功能
?>
之前我寫去關於工廠設計模式的文章,實際上,工廠模式包含普通工廠模式和抽象工廠模式,但是,不管是什麼工廠模式,它們都是有一個作用,那就是生成對象。
好了,那我們用下面最最簡單的例子,再把PHP設計模式中的廠模式再演示一下。
我自己總結了一下,工廠模式的三個要素:
一、產品模型
二、產品實例
三、工廠車間
復制代碼 代碼如下:
<?php
abstract class prModel {//產品模型
abstract function link();
}
class webLink extends prModel{//實例一個產品
public function link(){
echo "www.jb51.net";
}
}
class gongchang {//工廠
static public function createLink (){
return new webLink();
}
}
$weblink=gongchang::createLink();//通過工廠制造一個對象
$weblink->link();//輸出 www.jb51.net
?>
以上方法,就簡單的說明了工廠類的使用方法。關注面向對象