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

2021-08-16 03:42:58 字數 1822 閱讀 9751

本文以例項形式較為詳細的介紹了php設計模式的簡單工廠模式,對於進行php程式設計來說有很好的借鑑作用。具體如下:

一、概念

簡單工廠模式 【靜態工廠方法模式】(static factory method)

是類的建立模式

工廠模式的幾種形態:

1、簡單工廠模式(****** factory)又叫做 靜態工廠方法模式(static factory method)

2、工廠方法模式(factory method)又叫做 多型性工廠模式(polymorphic factory)

3、抽象工廠模式(abstract factory)又叫做 工具箱模式(toolkit)

二、配圖分析:

三、**例項

該例項**經過測試可以執行,具體如下:

<?php 

/** * 乙個事例

* * 乙個農場,要向市場銷售水果

* 農場裡有三種水果 蘋果、葡萄

* 我們設想:1、水果有多種屬性,每個屬性都有不同,但是,他們有共同的地方 | 生長、種植、收貨、吃

* 2、將來有可能會增加新的水果、我們需要定義乙個介面來規範他們必須實現的方法

* 3、我們需要獲取某個水果的類,要從農場主那裡去獲取某個水果的例項,來知道如何生長、種植、收貨、吃

*//**

* 虛擬產品介面類

* 定義好需要實現的方法

*/inte***ce fruit

/** * 定義具體產品類 蘋果

* 首先,我們要實現所繼承的介面所定義的方法

* 然後定義蘋果所特有的屬性,以及方法

*/ //蘋果樹有年齡

private $treeage;

//蘋果有顏色

private $color;

public function grow()

public function plant()

public function harvest()

public function eat()

//取蘋果樹的年齡

public function gettreeage()

//設定蘋果樹的年齡

public function settreeage($age)

}/**

* 定義具體產品類 葡萄

* 首先,我們要實現所繼承的介面所定義的方法

* 然後定義葡萄所特有的屬性,以及方法

*/class grape implements fruit

public function plant()

public function harvest()

public function eat()

//有無籽取值

public function getseedless()

//設定有籽無籽

public function setseedless($seed)

}/**

*農場主類 用來獲取例項化的水果

* */

class farmer

}}class badfruitexception extends exception

}/**

* 獲取水果例項化的方法

*/trycatch(badfruitexception $err)

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

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

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

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

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

先從簡單工廠入門,不管是面試還是被他人面試,在問到設計模式的時候,大多數人都會提到工廠模式。毫無疑問,工廠相關的幾種模式在設計模式中是最出名的也是應用比較廣泛的一種模式。在gof設計模式中也都是屬於建立型的模式。但是,能夠說明白簡單工廠 工廠模式 抽象工廠模式這三種模式的人還真能讓面試官刮目相看。這...