「PHP」簡單工廠
PHP簡單工廠模式的工廠類一般是使用靜態方法,通過接收的引數的不同來回傳不同的物件實體,
也就是使用的時候通過傳參來確定生成不同的物件,
簡單工廠:

★官方PHP高級學習交流社群「點擊」管理整理了一些資料,BAT等一線大廠進階知識體系備好(相關學習資料以及筆面試題)以及不限于:分布式架構、高可擴展、高性能、高并發、服務器性能調優、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優化、shell腳本、Docker、微服務、Nginx等多個知識點高級進階干貨
簡單工廠需要有3個角色:
-
產品介面類:用于定義產品規范;
-
具體的產品實作,例如ConcreateProductA,ConcreateProductB;
-
簡單工廠類SimpleFactory:用于生成具體的產品,
使用的時候通過傳引數給簡單工廠類,可以生成想要的產品,
代碼:ICar.php:定義產品規范:
命名空間 Yjc \ SimpleFactory ;
介面 ICar
{
公共 功能 驅動程式();
}
具體產品實作:
namespace Yjc\SimpleFactory;
class Benz implements ICar
{
public function driver()
{
echo 'benz driver.';
}
}
class Bmw implements ICar
{
public function driver()
{
echo 'bmw driver.';
}
}
簡單工廠類SimpleFactory:
命名空間 Yjc \ SimpleFactory ;
類 SimpleFactory
{
公共 靜態 功能 makeCar($型){
開關($型){
案 '奔馳':
回傳 新 奔馳();
休息 ;
情況下, 'BMW' :
回傳 新 寶馬();
休息 ;
默認值:
拋出 new \ Exception('不支持型別!');
打破;
}
}
}
引數代碼:
$車 = SimpleFactory :: makeCar( '奔馳');
$ car- > driver();
簡單工廠的優點/缺點:
優點:簡單工廠模式能夠根據外部給定的資訊,決定確切應該創建一個具體類的物件,明確區分了各自的職責和權力,有利于整個軟體體系結構的優化,
缺點:很明顯工廠類別集中了所有實體的創建邏輯,完全違反了GRSPR的高內聚的責任分配原則,
PHP 互聯網架構師成長之路*「設計模式」終極指南
PHP 互聯網架構師 50K 成長指南+行業問題解決總綱(持續更新)
面試10家公司,識訓9個offer,2020年PHP 面試問題
★如果喜歡我的文章,想與更多資深開發者一起交流學習的話,獲取更多大廠面試相關技術咨詢和指導,歡迎加入我們的群-點擊此處,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/1943.html
標籤:PHP
