介面卡模式,可以將截然不同的函式介面封裝成統一的api
實際應用:將三種不同的資料庫操作介面封裝成統一的介面。
示例**:
首先先建立乙個標準的api:database.php
<?php
namespace
ttinte***ce
idatabase
2.mysql資料庫操作類:mysql.php
<?php
namespace
tt\database
usett\idatabase
;class
mysql
implements
idatabase
function
query
($sql
)function
close()
}
3.mysqli資料庫操作類:mysqli.php
<?php
namespace
tt\database
usett\idatabase
;class
mysqli
implements
idatabase
function
query
($sql
)function
close()
}
4.pdo資料庫操作類:pdo.php
<?php
namespace
tt\database
usett\idatabase
;class
pdoimplements
idatabase
function
query
($sql
)function
close()
}
呼叫
<?php
$db=
newtt\database\mysql()
;$db
->
connect
('127.0.0.1'
,'root'
,'root'
,'test');
$db-
>
query
("show databases");
$db-
>
close()
;
總結 PHP設計模式(介面卡模式)
設計動機 假如我們又這樣軟體系統,我們希望它能夠和乙個新的庫搭配使用,但是這個庫所提供的介面與我們的軟體系統不相容,我們不想改變現有 就能解決這個問題,怎麼辦?這個時候我們就需要將這個新的庫介面轉換成我們所需要的介面,這就是介面卡模式設計動機。模式定義 介面卡模式就是將乙個類的介面,轉換成客戶期望的...
php設計模式介面卡模式
介面卡模式 有時候也稱包裝樣式或者包裝 將乙個類的介面適配成使用者所期待的。乙個適配允許通常因為介面不相容而不能在一起工作的類工作在一起。其實就是通過乙個轉換類,這個轉換類裡面有乙個方法,我們用這個轉換方法將原來的介面轉換成需要的介面 角色 如程式資料庫有關聯mysql mysqli pdo sql...
PHP設計模式 介面卡模式
宣告 本系列部落格參考資料 大話設計模式 作者程杰。介面卡模式 有時候也稱包裝樣式或者包裝 將乙個類的介面適配成使用者所期待的 介面卡模式要解決的核心問題 乙個適配允許通常因為介面不相容而不能在一起工作的類工作在一起,做法是將類自己的介面包裹在乙個已存在的類中。類圖 待適配 foreignplaye...