<?php
declare
(strict_types=1)
;// php 技術群:781742505
// 抽象工廠、抽象工廠、抽象工廠、抽象工廠、抽象工廠、抽象工廠、抽象工廠、
// 抽象工廠、抽象工廠、抽象工廠、抽象工廠、抽象工廠、抽象工廠、抽象工廠、
// 抽象工廠、抽象工廠、抽象工廠、抽象工廠、抽象工廠、抽象工廠、抽象工廠、
inte***ce
product
class
shippableproduct
implements
product
public
function
calculateprice()
: int
}class
digitalproduct
implements
product
public
function
calculateprice()
: int
}class
productfactory
public
function
createdigitalproduct
(int $price
): product
}$factory
=new
productfactory()
;$product
=$factory
->
createshippableproduct
(150);
echo
$product
->
calculateprice()
;echo
"\n"
;// 靜態工廠、靜態工廠、靜態工廠、靜態工廠、靜態工廠、靜態工廠、靜態工廠、靜態工廠、
// 靜態工廠、靜態工廠、靜態工廠、靜態工廠、靜態工廠、靜態工廠、靜態工廠、靜態工廠、
// 靜態工廠、靜態工廠、靜態工廠、靜態工廠、靜態工廠、靜態工廠、靜態工廠、靜態工廠、
final
class
staticfactory
elseif
($type
=='string'
)throw
new\invalidargumentexception
('unknown format given');
}}inte***ce
formatter
class
formatstring
implements
formatter
}class
formatnumber
implements
formatter
}// assertinstanceof(
// 'designpatterns\creational\staticfactory\formatnumber',
// staticfactory::factory('number')
// );
// 簡單工廠、簡單工廠、簡單工廠、簡單工廠、簡單工廠、簡單工廠、簡單工廠、
// 簡單工廠、簡單工廠、簡單工廠、簡單工廠、簡單工廠、簡單工廠、簡單工廠、
// 簡單工廠、簡單工廠、簡單工廠、簡單工廠、簡單工廠、簡單工廠、簡單工廠、
// 抽象工廠和簡單工廠的區別?
// 我的理解是,抽象工廠生產的是一系列具有相同介面的工廠。
// 然而簡單工廠只是生產任意工廠。
class
******factory
}class
bicycle
}$factory
=new
******factory()
;$bicycle
=$factory
->
createbicycle()
;$bicycle
->
driveto
('paris');
// 工廠方法、工廠方法、工廠方法、工廠方法、工廠方法、工廠方法、工廠方法、
// 工廠方法、工廠方法、工廠方法、工廠方法、工廠方法、工廠方法、工廠方法、
// 工廠方法、工廠方法、工廠方法、工廠方法、工廠方法、工廠方法、工廠方法、
inte***ce
logger
class
stdoutlogger
implements
logger
}class
filelogger
implements
logger
public
function
log(string $message)}
inte***ce
logge***ctory
class
stdoutlogge***ctory
implements
logge***ctory
}class
filelogge***ctory
implements
logge***ctory
public
function
createlogger()
: logger
}$logge***ctory
=new
stdoutlogge***ctory()
;$logger
=$logge***ctory
->
createlogger()
;//$this->assertinstanceof(stdoutlogger::class, $logger);
簡單工廠模式,工廠模式,抽象工廠模式
三種模式看了一天,記錄下自己的理解 headfirst,比薩店為例 1,簡單工廠模式 乙個具體的工廠類 pizzafactory 乙個抽象的產品類pizza,可以派生出多個具體的產品類 客戶 pizzastore類 工廠類 pizzafactory類關聯產品類pizza,工廠生產出不同型別的pizz...
簡單工廠模式 工廠模式 抽象工廠模式
簡單工廠模式 簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關類,對於客戶端來說,去除了與具體產品的依賴。但增加功能時,需增加 case 邏輯判斷分支條件,修改了原有的類,我們不但對擴充套件開發了,對修改也開放了,違背了開放 封閉原則。工廠方法模式,定義了乙...
簡單工廠模式 工廠模式 抽象工廠模式
其實這個三個c 的設計模式已經學習很長時間了,今晚才想起來要寫這三個設計模式,為什麼要用c 中的設計模式呢?for example,你已經會開車了,正著開,倒著開,轉彎,這些都是開車基本的,但是你並沒有很高的車技,並不會炫酷。漂移,就好像c 中的設計模式一樣,在你學好c 的基礎上,嫻熟的應用出的新技...