设计模式 适配器模式

WechatIMG29.jpeg

介绍

适配器模式是一种结构型设计模式,它允许将一个类的接口转换成客户端所期望的另一种接口。

角色

角色 说明
Target 目标接口
Adapter 适配器
Adaptee 被适配者
Client 客户

角色示例

类名 担任角色 说明
ChargerInterface 目标接口 充电器接口类
Converter 适配器 转换器类
Charger 被适配者 充电器类
MacBookPro 客户 MacBookPro 类

UML类图

适配器模式.jpg

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php 
class Charger
{
public function TypeC()
{
return "TypeC";
}
}

interface ChargerInterface{
public function USB();
}

class Converter implements ChargerInterface
{
protected $charger;
function __construct(Charger $charger)
{
$this->charger = $charger;
}

public function USB()
{
return 'USB 转换 '.$this->charger->TypeC();
}
}

class MacBookPro
{
public $converter;
function __construct(Converter $converter)
{
$this->converter = $converter;
}

public function converter()
{
return $this->converter;
}
}

$charger = new Charger();
$converter = new Converter($charger);
$macBookPro = new MacBookPro($converter);
echo $macBookPro->converter->USB();

创建 Charger.php,内容如上。

执行

1
2
$ php Charger.php
USB 转换 TypeC
-------------本文结束感谢您的阅读-------------
0%