将某个对象的接口适配为另外一个对象所指望的接口,adapter模式使本来因为接口不兼容而不能一块儿工做的类能够一块儿工做php
须要的东西在面前,但却不能用,而短期又没法改造它,因而就想办法适配code
系统的数据和行为都正确,但接口不符时,应该考虑使用适配器,目的是使控制范围以外的一个原有对象与某个接口匹配。适配器模式只要应用于但愿复用一些现存的类,但接口又与复用环境要求不一致的状况对象
这是一种“亡羊补牢”的方法。接口
首选的方法应该是重构代码,统一接口。ci
用于 两个类功能相同或类似get
在项目中须要使用第三方组件时,经常使用到此模式io
过后控制不如事中控制,事中控制不如事前控制function
#原始类,用户指望的接口 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();