設計模式4 2 工廠模式之工廠方法

2021-08-14 21:07:05 字數 1012 閱讀 2576

<?php/**

* 工廠方法:定義乙個建立物件的介面,由子類決定例項化哪個類,把例項化類的邏輯推遲到子類中

** 在本示例中:我們在cakestore的抽象類中定義了建立cake的介面createcake,子類在繼承此抽象類後必須實現此方法,因此,決定例項化哪個類的邏輯推遲到了子類,由子類決定。

** 在我們的ordercake方法中,使用了$cake->bake()等方法,而這些方法是由cake抽象定義的,所以cakestore依賴於cake.而具體的cake物件也依賴於抽象cake.這種方式避免了我們的cakestore依賴於具體的cake類,所以這是依賴倒置原則的很好示例。**/

//抽象蛋糕店

abstract

class

cakestore

abstract

function

createcake

();}

//抽象蛋糕

abstract

class

cake

//具體蛋糕類

class

beijingcake

extends

cake

public

function

package

()

}class

shanghaicake

extends

cake

public

function

package

()

}//具體蛋糕店類

class

beijingcakestore

extends

cakestore

}class

shanghaicakestore

extends

cakestore

}class

test

}$test = new test();

$test->run();

設計模式 工廠模式之工廠方法模式

工廠方法模式是指定義乙個建立物件的介面,然後實現這個介面的工廠來決定建立什麼樣的例項。工廠方法讓類的例項推遲到子類中進行。在這個模式中,只關心需要建立的是什麼工廠,不需要關心建立的細節。而且新加入的產品符合開閉原則。1 建立支付介面,裡面定義抽象的支付方法。package com.gupao.vip...

設計模式之簡單工廠,工廠方法模式

qt暫時斷了,專案上暫時不用。這段時間回顧以前寫的 不忍直視,現在的也好不 去,索性看看設計模式吧,就當練內功了 啦啦。廢話不說上 c 設計乙個簡單的計算器,只實現加減,其他的暫不考慮,namespace my factory private double dnumbera 0 private do...

設計模式之簡單工廠模式 工廠方法模式

簡單工廠模式並不屬於gof23個經典設計模式,但通常作為23個設計模式的基礎。因為在簡單工廠模式中用於建立例項的方法是static方法,所以它也被稱為static factory method pattern.定義 定義乙個工廠類,它可以根據引數的不同返回不同類的例項,被建立的例項通常都具有共同的父...