<?php
/**
* 2020-6-3 Xun
* Adapter(适配器模式)
* 在面向对象设计法则中有一个开闭原则:对修改封闭,对扩展开放
* 适配器说白了就是不改变原有类的基础上通过继承父类,把父类的一些数据进行操作以达到合适的结果
*/
//例如原有一个很久数据类,功能写的很复杂,但是格式输出是已php的serialize格式化的字符串,但是现在需要做前后端分离就必须
//把格式改成json来输出到前端,那么我们遵循开闭原则就不修改原有类,只是在原有基础上做处理
class Npc{
public function deal(){
$data=['name'=>'Npc','sex'=>1];
return serialize($data);
}
}
//通过继承重新修改数据
class Adapter extends Npc{
public function show(){
$data=parent::deal();
//反序列化
$data=unserialize($data);
//数组转json
return json_encode($data);
}
}
//实例化适配器类
$obj=new Adapter();
echo $obj->show();
PHP设计模式之适配器模式
最新推荐文章于 2022-10-09 10:08:49 发布