适配器模式
适配器模式(Adapter Pattern)是一种结构型设计模式,它允许接口不兼容的对象之间进行合作。
在 PHP 中,适配器模式可以通过以下步骤来实现:
1、创建一个目标接口(Target),定义客户端代码可以使用的方法。
interface Target
{
public function request(): string;
}
2、创建一个适配器类(Adapter),实现目标接口,并在构造函数中接受一个需要适配的对象。
class Adapter implements Target
{
private $adaptee;
public function __construct(Adaptee $adaptee)
{
$this->adaptee = $adaptee;
}
public function request(): string
{
return "Adapter: (TRANSLATED) " . $this->adaptee->specificRequest();
}
}
3、创建一个需要适配的类(Adaptee),它包含一些客户端代码不兼容的方法。
class Adaptee
{
public function specificRequest(): string
{
return ".eetpadA eht fo roivaheb laicepS";
}
}
4、在客户端代码中,可以使用适配器类来调用需要适配的类的方法。
function clientCode(Target $target)
{
echo $target->request();
}
$adaptee = new Adaptee();
echo "Client: The Adaptee class has a weird interface. See, I don't understand it:\n";
echo "Adaptee: " . $adaptee->specificRequest() . "\n\n";
echo "Client: But I can work with it via the Adapter:\n";
$adapter = new Adapter($adaptee);
clientCode($adapter);
输出:
Client: The Adaptee class has a weird interface. See, I don't understand it:
Adaptee: .eetpadA eht fo roivaheb laicepS
Client: But I can work with it via the Adapter:
Adapter: (TRANSLATED) Special behavior of the Adaptee.
以上就是适配器模式在 PHP 中的实现方式。
评论
共0 条评论