资讯专栏INFORMATION COLUMN

PHP设计模式(七)适配器模式(Adapter For PHP)

silvertheo / 421人阅读

摘要:适配器模式将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。如下待适配对象电子书翻页电子书打开客户端测试输出结果电子书打开电子书翻页

适配器模式:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。

先来看一个案例:
设置书的接口
// 书接口
interface BookInterface
{
    // 翻页方法
    public function turnPage();

    // 打开书方法
    public function open();
}
// 纸质书实现类
class Book implements BookInterface
{
    public function turnPage()
    {
        echo "纸质书翻页". "
"; } public function open() { echo "纸质书打开". "
"; } }
客户端测试:
// 客户端测试
$book = new Book();
$book->open();
$book->turnPage();
输出结果:
纸质书打开
纸质书翻页
这时候,你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。如下:
// 待适配对象
class Kindle
{
    public function turnPage()
    {
        echo "电子书翻页". "
"; } public function open() { echo "电子书打开". "
"; } }
class KindleAdapter implements BookInterface
{
    protected $_kindle;

    public function __construct($obj)
    {
        $this->_kindle = $obj;
    }


    public function turnPage()
    {
        $this->_kindle->turnPage();
    }

    public function open()
    {
        $this->_kindle->open();
    }
}
客户端测试:
$kindle = new KindleAdapter(new Kindle());
$kindle->open();
$kindle->turnPage();
输出结果:
电子书打开
电子书翻页

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29538.html

相关文章

  • PHP基础

    摘要:分别为适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。设计模式五适配器模式适配器模式将某个对象的接生成器和协程的实现在这篇文章中,作者针对那些比较难以理解的概念,以一个更为通俗的方式去讲明白。。 PHP 源码注解 PHP 的详细源码注解 PHP 字符串操作整理 一些有关字符串的常用操作。 Redis 常见七种使用场景 (PHP 实战) 这篇文章主要介绍利用 R...

    HtmlCssJs 评论0 收藏0
  • PHP设计模式(十):配器模式

    摘要:原文地址设计模式十适配器模式在设计模式七设计模式分类中我们提到过结构设计模式,结构设计模式专注于设计对象和实例的构建组合过程。适配器模式在不修改现有代码的基础上,保留了架构。 原文地址:PHP设计模式(十):适配器模式 Introduction 在PHP设计模式(七):设计模式分类中我们提到过结构设计模式(Structural patterns),结构设计模式专注于设计对象(Objec...

    paney129 评论0 收藏0
  • PHP设计模式-Adapter 配器模式

    摘要:大佬看完如果发现鄙人理解有误请立即指出,感谢拍砖,跪求鞭打适配器模式来自说明通过适配器模式能够使用新的代码和功能性来帮助更新原有的系统。 整理一下自己的学习Aaron Saray 写的PHP设计模式一些demo和自己的理解。大佬看完如果发现鄙人理解有误请立即指出,感谢拍砖,跪求鞭打 /** * Adapter 适配器模式 * ---------------------------...

    Forelax 评论0 收藏0
  • PHP设计模式-Adapter 配器模式

    摘要:大佬看完如果发现鄙人理解有误请立即指出,感谢拍砖,跪求鞭打适配器模式来自说明通过适配器模式能够使用新的代码和功能性来帮助更新原有的系统。 整理一下自己的学习Aaron Saray 写的PHP设计模式一些demo和自己的理解。大佬看完如果发现鄙人理解有误请立即指出,感谢拍砖,跪求鞭打 /** * Adapter 适配器模式 * ---------------------------...

    CastlePeaK 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<