摘要:工廠方法模式?jīng)]有做反射類檢測(cè)工廠方法模式定義用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類。操作類除數(shù)不能為工廠接口類工廠方法
工廠方法模式
沒有做反射類檢測(cè)
$name; } public function __set($name, $value) { $this->$name = $value; } public function getResult() { return 0; } } class OperationAdd extends Operation { public function getResult() { return $this->_num1 + $this->_num2; } } class OperationSub extends Operation { public function getResult() { return $this->_num1 - $this->_num2; } } class OperationMul extends Operation { public function getResult() { return $this->_num1 * $this->_num2; } } class OperationDiv extends Operation { public function getResult() { if (empty($this->_num2)) { throw new Exception("除數(shù)不能為0", 1); } return $this->_num1 / $this->_num2; } } // ********** 工廠接口 - 類 ********** // Interface IFactory { public function CreateOperation(); } class AddFacroty implements IFactory { public function CreateOperation() { return new OperationAdd(); } } class SubFactory implements IFactory { public function CreateOperation() { return new OperationSub(); } } class MulFactory implements IFactory { public function CreateOperation() { return new OperationMul(); } } class DivFactory implements IFactory { public function CreateOperation() { return new OperationDiv(); } } // client try { //工廠方法 $f = new AddFacroty(); $o = $f->CreateOperation(); $o->_num1 = 10; $o->_num2 = 2; print_r($o->getResult()); } catch (Exception $e) { echo $e->getMessage(); }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/23274.html
摘要:基于工廠角色和產(chǎn)品角色的多態(tài)性設(shè)計(jì)是工廠方法模式的關(guān)鍵。工廠方法模式之所以又被稱為多態(tài)工廠模式,是因?yàn)樗械木唧w工廠類都具有同一抽象父類。工廠方法模式總結(jié)工廠方法模式是簡(jiǎn)單工廠模式的進(jìn)一步抽象和推廣。 JavaScript工廠模式 首先需要說(shuō)一下工廠模式。工廠模式根據(jù)抽象程度的不同分為三種 簡(jiǎn)單工廠模式 工廠方法模式 抽象工廠模式 1.簡(jiǎn)單工廠模式 簡(jiǎn)單工廠模式:又稱為靜態(tài)工廠方法...
摘要:不過(guò)怎么來(lái)說(shuō)工廠方法模式是簡(jiǎn)單工廠模式的升級(jí)版。其次,工廠模式是一種典型的解耦模式,迪米特法則在工廠模式中表現(xiàn)的尤為明顯。 工廠模式想必大家在開發(fā)過(guò)程中會(huì)經(jīng)常用到,顧名思義其就是作為一個(gè)工廠用來(lái)生產(chǎn)產(chǎn)品的,下面來(lái)簡(jiǎn)單介紹幾種常見的工廠模式。 0x01 簡(jiǎn)單工廠模式 1、類圖結(jié)構(gòu)showImg(/img/bVFf1t?w=531&h=278); 2、角色分類 工廠類:其內(nèi)部具有一點(diǎn)的判...
摘要:二簡(jiǎn)單工廠模式組成工廠類工廠模式的核心,通過(guò)調(diào)用它來(lái)實(shí)現(xiàn)其他類的功能。三工廠方法模式利用工廠方法模式可以有效解決簡(jiǎn)單工廠模式破壞開閉原則的問題。 一、概念 1、工廠模式分為三類:(1)簡(jiǎn)單工廠模式:一個(gè)工廠創(chuàng)建所有產(chǎn)品(2)工廠方法模式:一個(gè)工廠方法創(chuàng)建一個(gè)產(chǎn)品(3)抽象工廠模式:一個(gè)工廠方法創(chuàng)建一類產(chǎn)品 2、創(chuàng)建型模式這種模式是指將實(shí)例的創(chuàng)建和使用分離開來(lái),隱藏類實(shí)例的創(chuàng)建細(xì)節(jié),外界...
摘要:反射提供給面向?qū)ο缶幊炭梢宰允〉哪芰Γ捶瓷洹T诤?jiǎn)單工廠模式中,根據(jù)傳遞的參數(shù)來(lái)返回不同的類的實(shí)例簡(jiǎn)單工廠模式又稱為靜態(tài)工廠方法模式。也就是簡(jiǎn)單工廠模式工廠工廠類。PHP高級(jí)特性-反射以及工廠設(shè)計(jì)模式的結(jié)合使用 [結(jié)合 Laravel-Admin 代碼實(shí)例講解]利用反射來(lái)實(shí)現(xiàn)工廠模式的生產(chǎn)而無(wú)需創(chuàng)建特定的工廠類本文地址http://janrs.com/?p=833轉(zhuǎn)載無(wú)需經(jīng)過(guò)作者本人授權(quán)轉(zhuǎn)載...
摘要:我認(rèn)為按書上的順序比較好理解因?yàn)楹?jiǎn)單靜態(tài)工廠模式是在工廠方法模式上縮減,抽象工廠模式是在工廠方法模式上再增強(qiáng)。所以我就先講工廠方法模式了。抽象工廠模式抽象工廠模式就比較復(fù)雜了,我們一般的應(yīng)用都寫不到。 前言 只有光頭才能變強(qiáng) 回顧前面: 給女朋友講解什么是代理模式 包裝模式就是這么簡(jiǎn)單啦 單例模式你會(huì)幾種寫法? 昨天寫了單例模式了,今天是時(shí)候?qū)懝S模式啦~ 工廠模式我個(gè)人認(rèn)為其實(shí)比...
摘要:工廠方法模式工廠方法模式是為了克服簡(jiǎn)單工廠模式的缺點(diǎn)。抽象工廠模式抽象工廠模式主要在于應(yīng)對(duì)新系列的需求變化。此時(shí)架構(gòu)便可以升級(jí)為工廠方法模式。 在面向?qū)ο缶幊讨袆?chuàng)建一個(gè)對(duì)象通常通過(guò)new關(guān)鍵字來(lái)創(chuàng)建,但是往往在一些業(yè)務(wù)場(chǎng)景下,個(gè)別對(duì)象是一個(gè)比較復(fù)雜的bean。此時(shí)創(chuàng)建對(duì)象不光是new了,還需要一些額外的操作,比如填充數(shù)據(jù),附屬對(duì)象的準(zhǔn)備等等。如果我們想要得到這樣的一個(gè)對(duì)象,直接簡(jiǎn)單粗暴...
閱讀 2595·2021-11-17 09:33
閱讀 3936·2021-10-19 11:46
閱讀 910·2021-10-14 09:42
閱讀 2252·2021-09-22 15:41
閱讀 4204·2021-09-22 15:20
閱讀 4628·2021-09-07 10:22
閱讀 2302·2021-09-04 16:40
閱讀 811·2019-08-30 15:52