当前位置: 首页 > news >正文

兴平网站开发百度推广网页版

兴平网站开发,百度推广网页版,左右设计家官网,北京商城网站设计报价一、观察者模式 当一个对象状态发生改变时#xff0c;依赖它的对象全部会收到通知#xff0c;并自动更新 场景#xff1a;一个事件发生后#xff0c;要执行一连串更新操作。传统的编程方式#xff0c;就是在事件的代码之后直接加入处理逻辑。当更新的逻辑增多之后#x…一、观察者模式 当一个对象状态发生改变时依赖它的对象全部会收到通知并自动更新 场景一个事件发生后要执行一连串更新操作。传统的编程方式就是在事件的代码之后直接加入处理逻辑。当更新的逻辑增多之后代码会变得难以维护。这种方式是藕合的侵入式的增加新的逻辑需要修改事件主体的代码 观察者模式实现了低耦合非侵入式的通知与更新机制 ?php ​ interface watcher{public function update(); } ​ abstract class watch{private $watchArr array();public function addWatchArr(watcher $watcher){$this-watchArr[] $watcher;}public function notify(){foreach($this-watchArr as $value){$value-update();}} } ​ class watcher1 implements watcher{public function update(){echo update watcher1;} } ​ class watcher2 implements watcher{public function update(){echo update watcher2;} } ​ ​ class main extends watch{public function test(){echo update1;$watcher1 new watcher1();$watcher2 new watcher2();$this-addWatchArr($watcher1);$this-addWatchArr($watcher2);$this-notify(); ​} } ​ $main new main(); $main-test(); 上面的interface{} 为每个实例提供了统一的方法那么抽象方法提供了添加实例以及统一遍历实例的方法。 二、适配器模式 适配器模式可以将截然不同的函数接口封装成统一的API 实际应用举例PHP 的数据库操作有mysqlmysqli 等可以通过适配器模式统一成一致 interface database{public function connect();public function query(); ​public function delete(); } ​ class mysql implements database{public function connect(){ ​} ​public function query(){ ​} ​public function delete(){} } 三、策略模式 策略模式将一组特定的行为和算法封装成类以适应某些特定的上下文环境这种模式就是策略模式 使用策略模式可以实现IOC依赖倒置、控制反转 ?php interface advertise{public function show(); } ​ ​ class man implements advertise{ public function show(){echo 显示man;} } ​ ​ class woman implements advertise{public function show(){echo 显示woman;} } ​ ​ class showindex{private $advertise;public function addObject(advertise $advertise){$this-advertise $advertise;}public function index(){$this-advertise-show();} } ​ ​ $showindex new showindex(); $women new woman(); $showindex-addObject($women); $showindex-index(); 四、装饰器模式 装饰器模式可以动态地添加修改类的功能 一个类提供了一项功能如果修改并添加额外的功能传统的编程模式需要写一个子类继承它并重新实现类的方法 使用装饰器模式仅需在运行时添加一个装饰器对象即可实现可以实现最大的灵活性 interface drawInterface{public function beforeDraw();public function afterDraw(); } ​ class Draw{ ​private $addDraw array();public function addDrwa(drawInterface $draw){$this-addDraw[] $draw;}private function beforeDraw(){foreach($this-addDraw as $row){$row-beforeDraw();}} ​private function afterDraw(){$t array_reverse($this-addDraw);foreach($t as $row){$row-afterDraw();}}public function show(){$this-beforeDraw();echo *;$this-afterDraw();} } ​ ​ class A implements drawInterface{public function beforeDraw(){echo h1;}public function afterDraw(){echo /h1;} } ​ class B implements drawInterface{public function beforeDraw(){echo h2;}public function afterDraw(){echo /h2;} } ​ $draw new Draw(); $draw-addDrwa(new A()); $draw-addDrwa(new B()); $draw-show();
http://www.hkea.cn/news/14303326/

相关文章:

  • 成品网站w灬源码伊园怎么样可以建设网站
  • 建设工程官方网站仪陇网站建设
  • 免费建购物网站成都网站建设公司优势
  • 网站建设公司排行杭州灰色行业seo大神
  • html网站开发教程东阳网站建设软件开发
  • 在线购物网站 项目图书网站建设策划书
  • 股票推荐怎么做网站wordpress 企业模板 免费
  • 最大的地方门户网站源码福田企业网站优化哪个好
  • 微信怎么做小程序的seo快速排名软件方案
  • 一个服务器可以备案几个网站吗冒充it男给某网站做修复
  • 网站制作技术支持兰州网站建设技能论文
  • 南京公司网站开发建设银行纪念币网站
  • 兰州新晨诚网络科技有限公司谷歌seo济南
  • 百度海外视频网站建设北京云网站建设
  • 如何找有需求做网站的公司苏州网站建设公司排名
  • 网站移动端推广做化妆品等的网站
  • 温州建校网站网址导航大全软件下载
  • 做网站的公司济南赛博科技市场今天郑州最新新闻
  • 专业设计软件百度搜索引擎优化方式
  • 做网站好公司wordpress需求规划书
  • 河南宏业建设管理有限公司网站wordpress启动广告
  • 手机网站制作机构网站关键词优化教程
  • 长沙网站空间北京seo做排名
  • 报告网站开发环境设计网站账号
  • asp.net 网站登陆设计做网站游戏推广赚钱
  • 海南省住房和城乡建设厅网站首页基础网站建设公司
  • 外贸网站如何做推广wordpress怎么加表格
  • 祁东网站开发杭州网站建设多少钱
  • 郑州高端定制网站卡片式设计的网站
  • 博客网站是自己做的吗一站式网站建设业务