国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

淺析php適配器模式(Adapter)

2024-05-04 23:28:04
字體:
來源:轉載
供稿:網友
本文講解的是php設計模式的結構性模式的概念以及機構性模式的七種類中的適配器模式,需要的朋友可以參考下
 
 

前幾篇介紹了設計模式的特性并且詳細講解了4種創建型模式,創建型模式是負責如何產生對象實例的,接下來講講結構型模式。

一、什么是結構型模式

結構型模式是解析類和對象的內部結構和外部組合,通過優化程序結構解決模塊之間的耦合問題。

二、結構型模式的種類

適配器模式
橋接模式
裝飾模式
組合模式
外觀模式
享元模式
代理模式

1、 適配器模式(Adapter)
將一個類的接口轉換成客戶希望的另一個接口,適配器模式使得原本的由于接口不兼容而不能一起工作的那些類可以一起工作。
應用場景:老代碼接口不適應新的接口需求,或者代碼很多很亂不便于繼續修改,或者使用第三方類庫。

代碼實現

 

復制代碼代碼如下:

//老的代碼     
class User {    
    private $name;    
    function __construct($name) {    
        $this->name = $name;    
    }    
    public function getName() {    
        return $this->name;    
    }    
}   

 

//新代碼,開放平臺標準接口    
interface UserInterface {    
    function getUserName();    
}    
class UserInfo implements UserInterface {    
    protected $user;    
    function __construct($user) {    
        $this->user = $user;    
    }    
    public function getUserName() {    
        return $this->user->getName();    
    }    
}   

$olduser = new User('張三');    
echo $olduser->getName()."n";    
$newuser = new UserInfo($olduser);    
echo $newuser->getUserName()."n";    

 

 注意點:這里的新接口使用了組合方式,UserInfo內部有一個成員變量保存老接口User對象,模塊之間是松耦合的,這種結構其實就是組合模式。不要使用繼承,雖然UserInfo繼承User也能達到同樣的目的,但是耦合度高,相互產生影響。

以上就是關于php設計模式中結構性模式中的適配器模式的全部內容了,小伙伴們是否了解清楚了呢,有問題就給我留言吧


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太谷县| 泉州市| 栾城县| 疏勒县| 旺苍县| 长乐市| 岳池县| 綦江县| 墨竹工卡县| 宁蒗| 山西省| 南通市| 遂宁市| 闻喜县| 垣曲县| 博乐市| 吐鲁番市| 隆安县| 广南县| 甘洛县| 石门县| 万年县| 梅河口市| 永福县| 集贤县| 玉环县| 阿巴嘎旗| 宾阳县| 临夏市| 霞浦县| 毕节市| 武威市| 朝阳区| 泸西县| 大新县| 沙河市| 富民县| 天镇县| 宁海县| 荣昌县| 留坝县|