你如何能輕松方便地建立這么" 復雜 " 的對象即操作中不需要粘貼復制呢?

解決方法

建立一個工廠(一個函數或一個類方法)來制造新的對象。為了理解工廠的用處, 試想以下的不同之處……

代碼:

復制代碼 代碼 " /> 欧洲老妇人bb,欧美激情久久久久久久大片,狠狠色狠狠色综合系列

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

介紹php設計模式中的工廠模式

問題

你如何能輕松方便地建立這么" 復雜 " 的對象即操作中不需要粘貼復制呢?

解決方法

建立一個工廠(一個函數或一個類方法)來制造新的對象。為了理解工廠的用處, 試想以下的不同之處……

代碼:

復制代碼 代碼如下:
$connection =& new MySqlConnection($user, $password, $database); 

……使你的代碼可擴展和更簡潔……

復制代碼 代碼如下:
$connection =& create_connection(); 

后者的代碼片斷集中在和數據庫連接的create_connect()工廠上 ,就像剛才說的一樣,使創造數據庫連接的過程成為一個簡單的操作―就像new操作一樣。工廠模式的優點就在創建對象上。 它的任務就是把對象的創建過程都封裝起來,然后返回一個所需要的新類。

想改變對象的結構和建立對象的方式嗎? 你只需選擇對象工廠,對代碼的改變只需要一次就夠了。( 工廠模式的功能是如此強大, 它處于是應用的底層, 所以在許多其余的復雜模式和應用中它會不停地出現。)

樣本代碼

工廠模式封裝了對象的建立過程。 你可以在對象本身創建對象工廠或者是一個額外的工廠類――這要看你具體的應用。讓我們看一個工廠對象的例子。

我們發現下面代碼中,數據庫連接的那部分屢次出現:

復制代碼 代碼如下:
// php
class Product { 
function getList() { $db =& new MysqlConnection(DB_USER, DB_PW, DB_NAME); 
//... 

function getByName($name) { $db =& new MysqlConnection(DB_USER, DB_PW, DB_NAME); 
//... 

//... 

為什么這樣做不好? 數據庫連接的參數出現的地方太多了,當你把這些參數設成常量,意味著你統一定義并對他們進行賦值,顯然這種做法不是很妥當:

你可以輕松地改變連接數據庫的參數,但你不能增加或改變這些參數地順序,除非你把所有連接代碼都改了。
你不能輕松的實例化一個新類去連接另一種數據庫,比如說PostgresqlConnection。
這樣很難單獨測試和證實連接對象的狀態。
使用工廠設計模式,代碼將得到很大的改進:

復制代碼 代碼如下:
class Product { 
function getList() { 
$db =& $this->_getConnection(); 
//... 

function &_getConnection() { 
return new MysqlConnection(DB_USER, DB_PW, DB_NAME); 


先前的類中存在很多調用new MysqlConnection(DB_USER,  DB_PW,  DB_NAME)的方法,現在都被集中到的_getConnection()方法上。

php技術介紹php設計模式中的工廠模式,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 美艳人妻在厨房翘着屁股 | 成人无码精品1区2区3区免费看 | 国产亚洲精品精华液 | 最近在线视频观看2018免费 | 最近免费中文MV在线字幕 | 91国偷自产一区二区三区 | 快播h动漫网站 | 久久视频精品38在线播放 | caoporn超碰在线 | tube日本护士| 国内精品一级毛片免费看 | 精品欧美小视频在线观看 | 老师你下面好紧夹死了 | 亚洲成AV人电影在线观看 | 国产精品一区二区激情 | 国产成人理在线观看视频 | 99re久久热在线视频 | 美女视频秀色福利视频 | 91进入蜜桃臀在线播放 | 久久 这里只精品 免费 | AV亚洲精品少妇毛片无码 | rio 快播 | 涩涩免费网站 | 亚洲精品久久久午夜福利电影网 | 国产精品69人妻无码久久 | 青柠视频在线观看高清HD | 亚洲熟伦熟女专区 | 久久成人免费大片 | beeg xxx日本老师| 好吊妞国产欧美日韩视频 | 青青精品视频国产 | 达达兔欧美午夜国产亚洲 | 一日本道伊人久久综合影 | 免费成年人在线观看视频 | 久久国产精品麻豆AV影视 | 99国产在线精品视频 | 色欲av蜜臀av高清 | 亚洲第一免费播放区 | 男女无遮挡吃奶gift动态图 | 国产亚洲精品久久7777777 | 妈妈的朋友5在线观看免费完整版中文 |