整理了一些AaronSaray写的PHP设计模式的demo和自己的理解。看完如果发现我的理解有误,请第一时间指出,谢谢拍赞,求鞭策/***Adapter适配模式*-----------------------------------***根据描述****适配器模式可用于帮助使用新代码和功能更新遗留系统。*简单地说,当需要将一个对象的接口转换为另一个对象时,*可以在不改变原始对象的情况下使用适配器模式**=====================================***应用场景*****在项目中使用旧架构的基类在接口改变时改变**----------------------------------------**@version${Id}$*@authorShaoweiPu<542684913@QQ.cn>*/_worker=$worker;}publicfunctiongetWorker(){if(!empty($this->_worker)){return'Infinity'.$this->_worker.'Aminingmaster';}}}/***分包出去工作*/classassignWorker{protected$_workerObject;publicfunction__construct(headquarters$_workerObject){$this->_workerObject=$_workerObject;}publicfunctionassign(){echo$this->_workerObject->getWorker();//向控制台输出错误信息}}/***现在你想要20个强力搬砖机,然后找到总部,总部会给你*/$Iran=newassignWorker(newheadquarters(20));$Iran->assign();echo"
";//日复一日,年复一年,你又被调到黎巴嫩挖矿。只有实体师傅才能和矿业师傅合作,但是公司现在不能给你提供其他部门,因为我们是百年企业,总公司不能随便加部门进去//大为国际的人才培养非常齐整,你想要什么就得到什么,难为你。所以你想到了这样的方式$this->getallheaders();}publicfunctiongetallheaders(){$this->_worker='Brave'.($this->_worker/2).'加了一块砖'.$this->_worker;}}//现在你想要的就出来了$Lebanon=newassignWorker(newAdapter(20));$Lebanon->assign();