設計模式之 工廠模式

2021-07-23 15:01:20 字數 1236 閱讀 1499

工廠模式使用場景:

簡單來說,當需求對類的個數不明確的時候,可以使用工廠模式,如:

反過來說,如果你確切的知道類的總量,那麼你就沒有必要使用工廠模式,直接通過繼承的方式就能實現好的設計。

例項1:

<?php

//設定資料庫介面

inte***ce

db//設定工廠介面

inte***ce

factory

//mysql實際功能類

class

mysql

implementsdb}

//oracle

class

oracle

implementsdb}

//nosql實際功能類

class

nosql

implementsdb}

//對外展示的mysql工廠類

class

facmysql

implements

factory

}//對外展示的oracle工廠類

class

facoracle

implements

factory

}//對外展示的nosql工廠類

class

facnosql

implements

factory

}//現在我想實現mysql資料庫的功能,但是我只需要呼叫mysql的工廠類即可,我無法並且也沒必要知道,實際類和方法的名字

$db = new facmysql();

print_r($db->facworking()); //output:開始使用mysql

?>

例項2:

<?php

inte***ce

iuser

class

user

implements

iuser

public

function

getname

()

}class

use***ctory

}$uo = use***ctory::create( 1 );

echo( $uo->getname()."\n" );

?>

設計模式 設計模式之工廠模式

工廠方法模式 建立模式 使用場景?作用?形態?場景 大量類似的實體類 要建立的實體類都是同一本質的東西 披薩 有部分類似功能 準備 烘烤 切法 實現方式不一樣 準備的材料不同 烘烤時間不同 切法不同 將繁瑣複雜的建立類的過程聚集在一起,有序清晰 把具體例項化的過程從客戶 中抽離 作用 1 將建立物件...

c 設計模式 之 工廠模式之 工廠模式

1 uml類圖 實現和依賴關係 實現 sportfactory jeepfactory hatchbackfactory 實現 ifactory 介面 sportcar jeepcar hatchbackcar 實現 icar 介面 依賴 ifactory 依賴 icar sportfactory ...

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

定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...