設計模式-使用php實現介面卡模式
【概要】
結構型模式
將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原來由於介面不相容而不能一起工作的那此類可以一起工作【gof95】
【結構圖】
【主要角色】
源(adaptee)角色:需要進行適配的介面
介面卡(adapter)角色:對adaptee的介面與target介面進行適配;介面卡是本模式的核心,介面卡把源介面轉換成目標介面,此角色為具體類
【適用性】
1、你想使用乙個已經存在的類,而它的介面不符合你的需求
2、你想建立乙個可以復用的類,該類可以與其他不相關的類或不可預見的類協同工作
3、你想使用乙個已經存在的子類,但是不可能對每乙個都進行子類化以匹配它們的介面。物件介面卡可以適配它的父類介面(僅限於物件介面卡)
【單例模式php例項】
<?php
/*** 介面卡模式
* -------------
* @author zhaoxuejie * @package design pattern
* @version v1.0 2011-12-14
*///目標角色
inte***ce target
//源角色
class adaptee
}//類介面卡角色
class adapter implements target
//委派呼叫adaptee的samplemethod1方法
public function ******method1()
public function ******method2() }
//客戶端
class client
}client::main();
?>
PHP介面卡模式
介面卡模式 adapter 將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。適用場景 1 已經存在的類的介面不符合我們的需求 2 建立乙個可以復用的類,使得該類可以與其他不相關的類或不可預見的類 即那些介面可能不一定相容的類 協...
介面卡模式 PHP
學習框架遇到介面卡問題,做下記錄 1.類介面卡,以繼承為主要方式,擴充套件原有的類 inte ce class1 inte ce class2 class class3 implements class1 public function f2 class class4 extends class3 ...
php 介面卡模式
介面卡模式 現在有這樣乙個場景,某公司有一群動物,各種動物會吃飯,說話,普通實現方式就是寫乙個父類,其子類去繼承父類實現該方法 abstract class subject class cat extends subject public function eat 現在其他動物要進來,不過他們呼叫的...