PHP高級對象構建 工廠模式的使用
更新時間:2012年02月05日 23:43:16 作者:
工廠模式包含普通工廠模式和抽象工廠模式,但是,不管是什么工廠模式,它們都是有一個作用,那就是生成對象
PHP設計模式工廠模式的使用方法
復制代碼 代碼如下:
<?php
/*
* 每日練習 PHP設計模式工廠模式的使用方法
* 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)品輸出功能
?>
之前我寫去關于工廠設計模式的文章,實際上,工廠模式包含普通工廠模式和抽象工廠模式,但是,不管是什么工廠模式,它們都是有一個作用,那就是生成對象。
好了,那我們用下面最最簡單的例子,再把PHP設計模式中的廠模式再演示一下。
我自己總結了一下,工廠模式的三個要素:
一、產(chǎn)品模型
二、產(chǎn)品實例
三、工廠車間
復制代碼 代碼如下:
<?php
abstract class prModel {//產(chǎn)品模型
abstract function link();
}
class webLink extends prModel{//實例一個產(chǎn)品
public function link(){
echo "www.dbjr.com.cn";
}
}
class gongchang {//工廠
static public function createLink (){
return new webLink();
}
}
$weblink=gongchang::createLink();//通過工廠制造一個對象
$weblink->link();//輸出 www.dbjr.com.cn
?>
以上方法,就簡單的說明了工廠類的使用方法。關注面向?qū)ο?/P>
相關文章
php中導出數(shù)據(jù)到excel時數(shù)字變?yōu)榭茖W計數(shù)的解決方法
導出數(shù)據(jù)到excel時數(shù)字變?yōu)榭茖W計數(shù)的解決方法,有需要的朋友可以參考下2013-02-02
php面向?qū)ο笾衧tatic靜態(tài)屬性和靜態(tài)方法的調(diào)用
這篇文章主要介紹了php面向?qū)ο笾衧tatic靜態(tài)屬性和靜態(tài)方法的調(diào)用,實例分析了static靜態(tài)屬性和靜態(tài)方法的原理與調(diào)用技巧,需要的朋友可以參考下2015-02-02
php getimagesize 上傳圖片的長度和寬度檢測代碼
getimagesize — 取得圖像大小2010-05-05

