<?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.定義 定義乙個工廠類,它可以根據引數的不同返回不同類的例項,被建立的例項通常都具有共同的父...