Decorator模式:以开闭原则实现功能的动态增减,提高了程序的可扩展性。详细介绍注:本文可以作为学习“装饰模式”基础文章的指南,但我个人更推荐学习装饰模式和Laravel装饰模式比较好。本文例子由《laravel 框架关键技术解析》给出摘自。有兴趣的朋友可以自行购买(这本书不能说写的很好,但是作者写的很用心,laravel关键部分的源码写的很详细,对学习很有帮助源码)name=$name;}publicfunctiondisplay(){echo"我是".$this->name."我要出去了!!!".'
';}}classFinery实现Decorater{private$component;公共函数__construct(Decorater$component){$this->component=$component;}publicfunctiondisplay(){$this->component->display();}}classShoesextendsFinery{publicfunctiondisplay(){echo'穿上鞋子'。'
';父母::显示();}}classSkirtextendsFinery{publicfunctiondisplay(){echo'穿上裙子'。'
';父母::显示();}}classFireextendsFinery{publicfunctiondisplay(){echo'出门前整理头发'。'
';父母::显示();cho'出门整理头发'.'
';}}$xiaofang=newXiaofang('Xiaofang');$shoes=newShoes($xiaofang);$skirt=newSkirt($shoes);$fire=newFire($裙子);$fire->display();运行看看结果,会比较好理解,执行过程也不复杂,就不细说了:出门前整理一下头发,穿上裙子和鞋子我是小芳,我要出去!!!出门后我会整理头发
