您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

每日一模式之php的适配器模式

2025/8/10 22:10:29发布24次查看
/*** 适配器模式 :将某一个对象的接口适配为另外一个 */interface seller{ public function sell();} //场景:中草药,直接买,特别处理后卖掉class herbalmedicine { private $_medicine,$_pick_date,$_keep_time; public function __construct($medicine){ $this->_medicine = $medicine; } public function getmedicne(){ return $this->_medicine; } //and so on}//直接出售class redictmedicineseller implements seller{ private $_medicine; public function __construct($medicine_obj){ $this->_medicine = $medicine_obj; } public function sell(){ echo $this->_medicine->getmedicne(). redict sell \n; }}$herbarl_obj = new herbalmedicine(中草药);$redict_obj = new redictmedicineseller($herbarl_obj);$redict_obj->sell();//提取这个动作可能不仅仅是extractmedicineseller 用到//不能用extractmedicineseller 的方法代替提取class herbalmedicineadapter extends herbalmedicine{ public function __construct($medicine){ parent::__construct($medicine); $this->extract($medicine); } public function extract(){ echo extract medicine \n; }}//比如提取出青蒿素处理后出售class extractmedicineseller implements seller{ private $_medicine; public function __construct($medicine_obj){ $this->_medicine = $medicine_obj; } public function sell(){ echo $this->_medicine->getmedicne(). extract sell \n; }}$herbarl_adapter_obj = new herbalmedicineadapter(中草药);$extract_obj = new extractmedicineseller($herbarl_adapter_obj);$extract_obj->sell();//适配器模式说的是同源,处理后适用不同的对象//如果不做适配处理可能会影响以前的功能,或者会任意添加方法,类的功能不再单一,不方便以后的扩张
适配器模式 :将某一个对象的接口适配为另外一个 ,可以用于同源但是需要不同的处理情况
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product