国产精品成人VA在线观看,亚洲日韩在线中文字幕综合,亚洲AV电影天堂男人的天堂,久久人人爽人人爽人人av东京热

News新聞

業(yè)界新聞動(dòng)態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁(yè)      樂(lè)道系統(tǒng)FAQ      PHP設(shè)計(jì)模式之工廠模式實(shí)例總結(jié)

PHP設(shè)計(jì)模式之工廠模式實(shí)例總結(jié)

標(biāo)簽: 發(fā)布日期:2017-09-01 00:00:00 275

本文實(shí)例講述了PHP設(shè)計(jì)模式之工廠模式。分享給大家供大家參考,具體如下:

使用工廠模式的目的或目標(biāo)?

工廠模式的最大優(yōu)點(diǎn)在于創(chuàng)建對(duì)象上面,就是把創(chuàng)建對(duì)象的過(guò)程封裝起來(lái),這樣隨時(shí)可以產(chǎn)生一個(gè)新的對(duì)象。

減少代碼進(jìn)行復(fù)制粘帖,耦合關(guān)系重,牽一發(fā)動(dòng)其他部分代碼。

通俗的說(shuō),以前創(chuàng)建一個(gè)對(duì)象要使用new,現(xiàn)在把這個(gè)過(guò)程封裝起來(lái)了。

假設(shè)不使用工廠模式:那么很多地方調(diào)用類a,代碼就會(huì)這樣子創(chuàng)建一個(gè)實(shí)例:new a(),假設(shè)某天需要把a(bǔ)類的名稱修改,意味著很多調(diào)用的代碼都要修改。

工廠模式的優(yōu)點(diǎn)就在創(chuàng)建對(duì)象上。

工廠模式的優(yōu)點(diǎn)就在創(chuàng)建對(duì)象上。建立一個(gè)工廠(一個(gè)函數(shù)或一個(gè)類方法)來(lái)制造新的對(duì)象,它的任務(wù)就是把對(duì)象的創(chuàng)建過(guò)程都封裝起來(lái),

創(chuàng)建對(duì)象不是使用new的形式了。而是定義一個(gè)方法,用于創(chuàng)建對(duì)象實(shí)例。

每個(gè)類可能會(huì)需要連接數(shù)據(jù)庫(kù)。那么就將連接數(shù)據(jù)庫(kù)封裝在一個(gè)類中。以后在其他類中通過(guò)類名:

為什么引入抽象的概念?

想一想,在現(xiàn)實(shí)生活中,當(dāng)我們無(wú)法確定某個(gè)具體的東西的時(shí)候,往往把一類東西歸于抽象類別。

工廠方法:

比如你的工廠叫做“香煙工廠”,那么可以有“七匹狼工廠”“中華工廠”等,但是,這個(gè)工廠只生廠一種商品:香煙;

抽象工廠:無(wú)法描述它到底生產(chǎn)什么產(chǎn)品,它生產(chǎn)很多類型的產(chǎn)品(所以抽象工廠就會(huì)生成子工廠)。

你的工廠是綜合型的,是生產(chǎn)“一系列”產(chǎn)品,而不是“一個(gè)”,比如:生產(chǎn)“香煙”,還有“啤酒”等。然后它也可以有派生出來(lái)的具體的工廠,但這些工廠都是生產(chǎn)這一系列產(chǎn)品,只是可能因?yàn)榈赜虿灰粯?,為了適應(yīng)當(dāng)?shù)厝丝谖?,味道也不太一樣?/p>

工廠模式:理解成只生成一種產(chǎn)品的工廠。比如生產(chǎn)香煙的。

工廠方法:工廠的一種產(chǎn)品生產(chǎn)線 。比如鍵盤的生成過(guò)程。

別人會(huì)反駁:吃飽了沒(méi)事干,一定要修改類名稱呢?這個(gè)說(shuō)不定。一般都不會(huì)去修改類名稱。

其實(shí)工廠模式有很多變體,抓住精髓才是關(guān)鍵:只要是可以根據(jù)不同的參數(shù)生成不同的類實(shí)例,那么就符合工廠模式的設(shè)計(jì)思想。

這樣子讓我聯(lián)想到框架中經(jīng)常會(huì)有負(fù)責(zé)生成具體類實(shí)例的方法供調(diào)用。

由于前面使用過(guò)phpcms,用phpcms的來(lái)幫助理解,更加好,如下:

pc_base:load_app_class("order"');//參數(shù)名稱就是類名稱。