設計模式 二

2021-09-07 06:06:26 字數 1116 閱讀 6284

php物件導向設計模式中,工廠模式,從字面中就能夠以理解為,工廠模式就是在不改變原來**的結構的基礎上,依據需求的新增類定義去完畢

<?
php header("content-type:text/html; charset=utf8"); /** * php設計模式 * 二:工廠模式 * */ // 定義介面db類 inte***ce db class dbmysql implements db } class dbsqlserver implements db } // 定義乙個工廠介面 inte***ce factory //定義建立資料介面 class getmysqlfactory implements factory } class getsqlserver implements factory } $facmysql = new getmysqlfactory(); // 獲得建立mysql的工廠類 $mysql = $facmysql->createdb(); // 通過mysql工廠物件建立乙個mysql物件 $mysql->conn(); //mysql連線成功 $facmysql = new getsqlserver(); // 獲得sqlserver工廠類 $mysql = $facmysql->createdb();// 通過sqlserver工廠物件建立乙個sqlserver物件 $mysql->conn(); //sqlserver連線成功

定義了兩個介面類, 事實上定義介面類的主要作用, 能夠起到約束作用,更規範 .

由於php是型別自己主動轉換的。

實現上使用介面能夠約束類的定義。從而實現一致的訪問.

從上述**能夠看出, 在不改變原來**結構的基礎上, 能夠加入多個資料庫連線

比方要新增乙個oracle資料庫連線,

僅僅須要再新增在新增類的基礎上就完畢

class dboracle implements db

}class getoracle implements factory

}$facoracle = new getoracle();

$facoracle = $facoracle->createdb();

$facoracle->conn(); // 連線orache成功

設計模式(二) 原型設計模式

官方定義 使用原型例項指定建立物件的種類,並通過複製這個原型建立新的物件 通俗的講就是根據乙個原型建立乙個新的物件 建立的方式實質就是拷貝原型自己 而且不需要知道新物件建立的細節 1 某些物件組合起來特別複雜,而重新建立費時又費力,此時通過拷貝能達到其目的 通過 說明問題 1 定義乙個協議 impo...

設計模式(二)

工廠模式 factory 允許你在 執行時例項化物件。它之所以被稱為工廠模式是因為它負責 生產 物件。工廠方法的引數是 你要生成的物件對應的類名稱。抽象基類 類中定義抽象一些方法,用以在子類中實現 繼承自抽象基類的子類 實現基類中的抽象方法 工廠類 用以例項化所有相對應的子類class exampl...

設計模式(二)

1.原型模式 複製乙個已經存在的例項可使程式執行更高效 應用場景 1 類初始化需要消化非常多的資源,這個資源包括資料 硬體資源等,通過原型拷貝避免這些消耗。2 通過new產生的乙個物件需要非常繁瑣的資料準備或者許可權,這時可以使用原型模式。3 乙個物件需要提供給其他物件訪問,而且各個呼叫者可能都需要...