PHP設計模式--介面卡模式
阿新 • • 發佈:2019-02-13
最近開始學習設計模式中第二部分----結構型模式,總共有七種。
學習的第一種結構型模式是介面卡模式(Adapter),介面卡模式中最簡單,最普遍的舉例就是電源轉接頭
所以這種模式理解起來不難。
以家用電壓為例,提供一個介面卡類,把220V的用電轉換成人體所能承受的36V的安全電壓。
學習的第一種結構型模式是介面卡模式(Adapter),介面卡模式中最簡單,最普遍的舉例就是電源轉接頭
所以這種模式理解起來不難。
以家用電壓為例,提供一個介面卡類,把220V的用電轉換成人體所能承受的36V的安全電壓。
程式碼如下:
<?php /** * Created by Sublime. * User: Ryan * Date: 2018/1/19 * File:Adapter.php */ /** 電壓介面 * interface Voltage */ interface Voltage { function Display(); // 電壓顯示 } /** 家用電壓類 * HomeVoltage */ Class HomeVoltage implements voltage { // 家用電壓一般220V function Display(){ echo "220V</br>"; } } /** 人體安全電壓 * PersonVoltage */ Class PersonVoltage { // 人體安全電壓一般不超過36V function Display(){ $v = rand(1,36); echo $v."V"; } } /** 介面卡類 * Adapter */ Class Adapter implements Voltage { private $_person; // __construct 建構函式重新進行轉換 function __construct(){ $this->_person = new PersonVoltage(); } function Display(){ $this->_person->Display(); } }
輸出結果:<?php header("Content-Type:text/html;charset=utf-8"); //------------------------介面卡模式--index.php ---------------- require_once "Adapter.php"; // 家用電壓 $home = new HomeVoltage(); $home->Display(); echo "*********轉換電壓到人體安全電壓**********</br>"; // 介面卡 隨機轉換到人體可接受範圍電壓 $person = new Adapter(); $person->Display();
220V
*********轉換電壓到人體安全電壓**********
16V