|
php設(shè)計模式工廠模式的使用方法
復(fù)制代碼 代碼如下:
<?php
/*
* 每日練習(xí) php設(shè)計模式工廠模式的使用方法
* php工廠模式不難理解,顧名思義,就是一個加工廠,然后工廠是制造產(chǎn)品的,只要制造產(chǎn)品
* 就必須有幾個要素:"方法","模型","工廠車間"。
*/
/*第一種示例 普通工廠模式
* */
abstract class model {//產(chǎn)品模型
abstract function getNames();
}
class zhangsan extends model {//產(chǎn)品實例
function getNames(){
return "my name is zhengsan";
}
}
class lisi extends model{//產(chǎn)品實例
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();//制造產(chǎn)品
echo $zhangsan->getNames();//產(chǎn)品輸出功能
?>
之前我寫去關(guān)于工廠設(shè)計模式的文章,實際上,工廠模式包含普通工廠模式和抽象工廠模式,但是,不管是什么工廠模式,它們都是有一個作用,那就是生成對象。
好了,那我們用下面最最簡單的例子,再把php設(shè)計模式中的廠模式再演示一下。
我自己總結(jié)了一下,工廠模式的三個要素:
一、產(chǎn)品模型
二、產(chǎn)品實例
三、工廠車間
復(fù)制代碼 代碼如下:
<?php
abstract class prModel {//產(chǎn)品模型
abstract function link();
}
class webLink extends prModel{//實例一個產(chǎn)品
public function link(){
echo "www.jb51.NET";
}
}
class gongchang {//工廠
static public function createLink (){
return new webLink();
}
}
$weblink=gongchang::createLink();//通過工廠制造一個對象
$weblink->link();//輸出 www.jb51.NET
?>
以上方法,就簡單的說明了工廠類的使用方法。關(guān)注面向?qū)ο?/P>
php技術(shù):PHP高級對象構(gòu)建 工廠模式的使用,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。