PHP适配器模式之接口适配的简单实例<?php
// 适配器模式-接口适配
/**
* 问题:实现此接口的类需要实现所有的方法,但是实际使用的仅仅是其中的某一个方法而已,比较繁琐
* 解决方法:增加一个中间类,对所有的方法空实现,然后不再直接实现接口而是继承这个中间类
* 这就是 接口适配.
*/
interface Sourceable
{
function action1();
function action2();
function action3();
}
/**
* 中间类, 所有方法空实现
*/
abstract class AbstractAdapter implements Sourceable
{
public function action1() { }
public function action2() { }
public function action3() { }
}
class Adapter extends AbstractAdapter
{
public function action2() {
echo 'call action2', '
';
}
}
class Adapter2 extends AbstractAdapter
{
public function action3() {
echo 'call action3', '
';
}
}
// test code
$a1 = new Adapter();
$a1->action2();
$a2 = new Adapter2();
$a2->action3();