簡單工廠模式
①抽象基類:類中定義抽象一些方法,用以在子類中實現
②繼承自抽象基類的子類:實現基類中的抽象方法
③工廠類:用以例項化所有相對應的子類
/**
** 定義個抽象的類,讓子類去繼承實現它**/
abstract class operation
/*** 加法類
*/class operationadd extends operation
}/**
* 減法類
*/class operationsub extends operation
}/**
* 乘法類
*/class operationmul extends operation
}/**
* 除法類
*/class operationdiv extends operation else
}catch (exception $e)}}
通過採用物件導向的繼承特性,我們可以很容易就能對原有程式進行擴充套件,比如:『乘方』,『開方』,『對數』,『三角函式』,『統計』等,以還可以避免載入沒有必要的**。
如果我們現在需要增加乙個求餘的類,會非常的簡單
我們只需要另外寫乙個類(該類繼承虛擬基類),在類中完成相應的功能(比如:求乘方的運算),而且大大的降低了耦合度,方便日後的維護及擴充套件
複製**
/*** 求餘類(remainder)**/
class operationrem extends operation
現在還有乙個問題未解決,就是如何讓程式根據使用者輸入的操作符例項化相應的物件呢?
解決辦法:使用乙個單獨的類來實現例項化的過程,這個類就是工廠
/*** 工程類,主要用來建立物件
* 功能:根據輸入的運算符號,工廠就能例項化出合適的物件**/
class factory}}
$test=factory::createobj('/');
$result=$test->getvalue(23,0);
echo $result;
其他關於關於此模式的筆記:
工廠模式:
以交通工具為例子:要求請既可以定製交通工具,又可以定製交通工具生產的過程
1>定製交通工具
1.定義乙個介面,裡面包含交工工具的方法(啟動 執行 停止)
2.讓飛機,汽車等類去實現他們
2> 定製工廠(通上類似)
1.定義乙個介面,裡面包含交工工具的製造方法(啟動 執行 停止)
2.分別寫製造飛機,汽車的工廠類去繼承實現這個介面
php 設計模式之簡單工廠模式
摘要 學習php,不知道工廠模式,怎麼去看框架原始碼,怎麼能夠透徹理解php這門語言呢?1 類的宣告 一些修飾類關鍵字 class 類名修飾類的關鍵字 abstract final 訪問控制修飾符包括這三個 public private protect 關鍵字,用來修飾類 成員屬性 成員方法,使它們...
PHP設計模式之簡單工廠模式
先從簡單工廠入門,不管是面試還是被他人面試,在問到設計模式的時候,大多數人都會提到工廠模式。毫無疑問,工廠相關的幾種模式在設計模式中是最出名的也是應用比較廣泛的一種模式。在gof設計模式中也都是屬於建立型的模式。但是,能夠說明白簡單工廠 工廠模式 抽象工廠模式這三種模式的人還真能讓面試官刮目相看。這...
Php設計模式之工廠模式(一)簡單工廠模式
案例 黑棗轉殖公司是專門批量生產轉殖狗的一家企業。當轉殖出乙隻黑狗的實現 如下 實現 class doggener if color red class blackdog class reddog doggen new doggener doggen create black 分析ooa 軟體工程師...