設計模式 簡單工廠模式

2021-08-11 16:57:14 字數 1346 閱讀 9602

最近在看程杰的《大話設計模式》,感覺此書不錯,打算用php語音來總結相關的設計模式。之後會根據自身理解再次進行修改。

最好買這本書對照著看,要不然光看下邊的**可能理解的不是很好

以下程式就不針對命名等規範做更多解釋;

以下程式不考慮特殊情況,都是正常資料執行程式;

案例:計算器控制程式

小菜的程式

class program 

echo $stringd;

}}$program = new program();

$program->getresult(5, '/', 3);

簡單工廠模式(****** factory pattern):又稱為靜態工廠方法(static factory method)模式,它屬於類建立型模式。在簡單工廠模式中,可以根據引數的不同返回不同類的例項。簡單工廠模式專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。

簡單工廠模式**:

//運算類

class operation

public function nubmerb($num)

public function getresult() }

//加法類 繼承運算類

class operstionadd extends operation

}//減法類 繼承運算類

class operstionsub extends operation

}//乘法類 繼承運算類

class operstionmul extends operation

}//除法類 繼承運算類

class operstiondiv extends operation

}//簡單運算工廠類

class operationfactory

return $oper;

}}//客戶端**實現

$operationfactory = new operationfactory();

$oper = $operationfactory->createoperation('*');

$oper->nubmera(4);

$oper->nubmerb(6);

echo $oper->getresult();

注:簡單工廠模式用於例項化合適的類物件。總結一下適用場景:

(1)需要建立的物件較少。

(2)客戶端不關心物件的建立過程。

設計模式 工廠模式(簡單工廠)

一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...

設計模式(簡單工廠模式 工廠模式 抽象工廠模式)

當邏輯較為簡單時,可以直接建立對應的類。如下 include using namespace std class class banana class pear intmain 通過此 可以發現,使用者直接與客戶接觸,違背了dip 依賴倒轉 原則,過於麻煩,所以引出簡單工廠模式。include us...

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

請用任意一種物件導向語言實現計算器控制台程式,要求輸入兩個數和運算符號,得到結果。operation運算類 public class operation set public double numberb set public virtual double getresult 加減乘除類 using...