php 之簡單工廠模式

2021-09-22 22:52:13 字數 1566 閱讀 2166

簡單工廠模式是由乙個工廠物件決定建立出哪一種類的例項。

比如現在我們用物件導向的方式封裝了乙個運算類operation

<?php

/** * created by phpstorm.

* user: binwei

* date: 2019/5/18

* time: 17:02

*/class

operation

return

$result;}

}

現在要解耦,將加減乘除運算分離,以至增加和修改都不影響其他**,我們可以將operation類分成加減乘除四個類,相互不影響,比如加法類

<?php

/** * created by phpstorm.

* user: binwei

* date: 2019/5/18

* time: 17:14

*/class

operationadd

}

那麼什麼是工廠模式呢?現在我們需要乙個工廠類來通過操作符直接返回對應的例項,比如是加法操作符,那麼工廠類就給我返回operationadd的例項。

<?php

/** * created by phpstorm.

* user: binwei

* date: 2019/5/18

* time: 17:31

*/require_once

"operationadd.php"

;require_once

"operationsub.php"

;require_once

"operationmul.php"

;require_once

"operationdiv.php"

;class

operationfactory

return

$oper;}

}

現在比如我們有 2 個數要進行加法運算,那麼就可以這麼做了:

<?php

/** * created by phpstorm.

* user: binwei

* date: 2019/5/18

* time: 17:35

*/require_once

"operationfactory.php"

;$num1=1

;$num2=12

;$op

= operationfactory:

:createoperate

("+");

$rs=

$op-

>

getresult

($num1

,$num2);

echo

$rs;

比如後期我們要進行其他複雜的運算,比如立方根等,我們只需要增加對應的運算類,再在工廠類中增加對應的分支就好了。

這就是乙個簡單工廠模式的乙個簡單使用。

php之簡單工廠模式

計算器 param op num 1 運算元1 param op num 2 運算元2 param op str 操作符 return 操作結果 functionop op num 1 op num 2 op str 我他丫無法描述該函式 param op str 操作符 return 具體執行操作...

php 設計模式之簡單工廠模式

摘要 學習php,不知道工廠模式,怎麼去看框架原始碼,怎麼能夠透徹理解php這門語言呢?1 類的宣告 一些修飾類關鍵字 class 類名修飾類的關鍵字 abstract final 訪問控制修飾符包括這三個 public private protect 關鍵字,用來修飾類 成員屬性 成員方法,使它們...

php設計模式之簡單工廠模式

簡單工廠模式 抽象基類 類中定義抽象一些方法,用以在子類中實現 繼承自抽象基類的子類 實現基類中的抽象方法 工廠類 用以例項化所有相對應的子類 定義個抽象的類,讓子類去繼承實現它 abstract class operation 加法類 class operationadd extends oper...