摘要:適配器模式只要應用于希望復用一些現(xiàn)存的類,但接口又與復用環(huán)境要求不一致的情況這是一種亡羊補牢的方法。首選的方法應該是重構(gòu)代碼,統(tǒng)一接口。
定義
將某個對象的接口適配為另一個對象所期望的接口,adapter模式使原本由于接口不兼容而不能一起工作的類可以一起工作
使用場景需要的東西在面前,但卻不能用,而短時間又無法改造它,于是就想辦法適配
系統(tǒng)的數(shù)據(jù)和行為都正確,但接口不符時,應該考慮使用適配器,目的是使控制范圍之外的一個原有對象與某個接口匹配。適配器模式只要應用于希望復用一些現(xiàn)存的類,但接口又與復用環(huán)境要求不一致的情況
這是一種“亡羊補牢”的方法。
首選的方法應該是重構(gòu)代碼,統(tǒng)一接口。
用于 兩個類功能相同或相似
在項目中需要使用第三方組件時,常用到此模式
事后控制不如事中控制,事中控制不如事前控制
#原始類,用戶期望的接口 class Target{ public function connect(){ return "普通連接成功"; } } #需要被適配的類 class Adaptee{ public function specificConnect(){ reutrn "特殊連接成功"; } } #適配器 class Adapter extends Target{ private $Adaptee = new Adaptee(); public function connect (){ $Adaptee->SpecificConnect(); } } #***************客戶端**************** #適配前 $Target = new Target(); echo $Target->connect(); #適配后 $Target = new Adapter(); echo $Target->connect();
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/23155.html
摘要:我們今天也來做一個萬能遙控器設計模式適配器模式將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口。今天要介紹的仍然是創(chuàng)建型設計模式的一種建造者模式。設計模式的理論知識固然重要,但 計算機程序的思維邏輯 (54) - 剖析 Collections - 設計模式 上節(jié)我們提到,類 Collections 中大概有兩類功能,第一類是對容器接口對象進行操作,第二類是返回一個容器接口對象,上節(jié)我們介紹了...
摘要:簡介適配器模式有時候也稱包裝樣式或者包裝將一個類的接口適配成用戶所期待的。應用場景如程序數(shù)據(jù)庫有關(guān)聯(lián)等操作,而你需要根據(jù)情況換數(shù)據(jù)庫操作時,可以使用適配器模式統(tǒng)一接口,這樣代碼中除了數(shù)據(jù)庫配置之外,就不需要做而外的更改。 簡介 適配器模式(有時候也稱包裝樣式或者包裝)將一個類的接口適配成用戶所期待的。一個適配允許通常因為接口不兼容而不能在一起工作的類工作在一起。 UML 角色 Tar...
摘要:序列文章面試之函數(shù)面試之對象面試之數(shù)組的幾個不操作面試之對比分析面試之數(shù)據(jù)結(jié)構(gòu)與算法前言設計模式如果應用到項目中,可以實現(xiàn)代碼的復用和解耦,提高代碼質(zhì)量。 showImg(https://segmentfault.com/img/bVbq2VA?w=480&h=260); 序列文章 JS面試之函數(shù)(1)JS面試之對象(2)JS面試之數(shù)組的幾個不low操作(3)JS面試之http0.9~...
閱讀 2337·2019-08-30 15:44
閱讀 1260·2019-08-30 13:01
閱讀 3307·2019-08-30 11:22
閱讀 3093·2019-08-29 15:23
閱讀 1614·2019-08-29 12:22
閱讀 3366·2019-08-26 13:58
閱讀 3439·2019-08-26 12:17
閱讀 3479·2019-08-26 12:16