本篇內(nèi)容介紹了“PHP中工廠模式和工廠方法模式分別是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)專注于鳳縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城開發(fā)。鳳縣網(wǎng)站建設(shè)公司,為鳳縣等地區(qū)提供建站服務(wù)。全流程定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
工廠:
$a = new Dog('abc');
接口中定義一一些方法
實(shí)現(xiàn)接口的類實(shí)現(xiàn)這些方法
工廠類:用以實(shí)例化對(duì)象
優(yōu)點(diǎn):為系統(tǒng)結(jié)構(gòu)提供了靈活的動(dòng)態(tài)擴(kuò)展機(jī)制。方便維護(hù)
我們以代碼演示什么是工廠模式,首先新建一個(gè)文件,我們?cè)谖募锩鎰?chuàng)建一個(gè)接口,接口里面有兩個(gè)方法,緊接著我們寫兩個(gè)類實(shí)現(xiàn)此接口,然后我們需要把剛剛定義的兩個(gè)方法寫出來,然后我們?cè)趯懸粋€(gè)類,那么,我們?nèi)绾螌⑺麄儗懺谝粋€(gè)工廠中,通過工廠創(chuàng)建我們定義的兩個(gè)對(duì)象,我們先建立一個(gè)工廠類,然后在類里面寫一個(gè)靜態(tài)方法,然后給我們傳遞一個(gè)類型,然后我們來選擇類型,如果我們的類型是person那么我們就創(chuàng)建一個(gè)person,如果說我們要?jiǎng)?chuàng)建人類的對(duì)象,我們只需要通過工廠來創(chuàng)建就行了,具體代碼如下:
'; } function pome() { echo '愛恨癡狂,抵不過滄海一笑'; } } class JingLing implements Skill { function family( ) { echo '為什么會(huì)痛苦,一直微笑就好了
' ; } function buy() { echo '嘴上說不要,但你的眼睛很誠實(shí)嘛
'; } } class Factory { static function createHero($type) { switch ($type) { case'person' : return new Person(); break; case'jingling' : return new JingLing(); break; } } } $person = Factory::createHero('person'); $jing = Factory::createHero('jingling');
以上就是我們所謂的工廠模式;
工廠方法:
工廠方法模式核心是工廠類不再負(fù)責(zé)所有對(duì)象的創(chuàng)建,而是將具體創(chuàng)建的工作交給子類去做,成為一一個(gè)抽象工廠角色,它僅負(fù)責(zé)給出具體工廠類必須實(shí)現(xiàn)的接口,而不接觸哪一個(gè)產(chǎn)品類應(yīng)當(dāng)被實(shí)例化這種細(xì)節(jié)
根據(jù)上述代碼,我們了解我們的工廠模式要負(fù)責(zé)創(chuàng)建對(duì)象,我們以代碼為例:規(guī)定一個(gè)接口,同樣兩個(gè)方法,緊接著我們寫兩個(gè)類,而我們建立的工廠類只負(fù)責(zé)規(guī)定接口,具體的實(shí)現(xiàn)交給子類,具體我們以代碼為例:
“PHP中工廠模式和工廠方法模式分別是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
分享標(biāo)題:PHP中工廠模式和工廠方法模式分別是什么
瀏覽路徑:http://weahome.cn/article/jdgjgi.html