php与设计模式-职责链模式

​银行IT运维人必看!IT运维监控指标大全,一篇讲透 文章摘要:本文从七个维度系统阐述了IT运维指标体系,涵盖机房环境、基础设施、网络设施、数据存储、虚拟化平台、数据库中间件和应用层。作者结合20年金融行业经验,详细分析了各层级关键监控指标、正常范围及异常后果,并给出典型故障场景。重点强调现代运维需从被动响应转向主动预防,通过精细化指标管理实现系统稳定性保障。文章特别指出,在国产化与DevOps背景下,运维工作需兼顾传统架构与新兴技术,构建全方位监控体系,将运维从"故障报警"升级为"业务守护"。 阅读详情

职责链模式

职责链模式(又叫责任链模式)包含了一些命令对象和一些处理对象,每个处理对象决定它能处理那些命令对象,它也知道应该把自己不能处理的命令对象交下一个处理对象,该模式还描述了往该链添加新的处理对象的方法。

Demo

<?php 
   /**
    * Created by PhpStorm.
    */ 

   //申请Model 
   class Request 
   { 
       //数量 
       public $num; 
       //申请类型 
       public $requestType; 
       //申请内容 
       public $requestContent; 
   } 

   //抽象管理者 
   abstract class Manager 
   { 
       protected $name; 
       //管理者上级 
       protected $manager; 
       public function __construct($_name) 
       { 
           $this->name = $_name; 
       } 

       //设置管理者上级 
       public function SetHeader(Manager $_mana) 
       { 
           $this->manager = $_mana; 
       } 

       //申请请求 
       abstract public function Apply(Request $_req); 

   } 

   //经理 
   class CommonManager extends Manager 
   { 
       public function __construct($_name) 
       { 
           parent::__construct($_name); 
       } 
       public function Apply(Request $_req) 
       { 
           if($_req->requestType=="请假"&& $_req->num<=2) 
           { 
               echo "{$this->name}:{$_req->requestContent} 数量{$_req->num}被批准。<br/>"; 
           } 
           else 
           { 
               if(isset($this->manager)) 
               { 
                   $this->manager->Apply($_req); 
               } 
           } 

       } 
   } 

   //总监 
   class MajorDomo extends Manager 
   { 
       public function __construct($_name) 
       { 
           parent::__construct($_name); 
       } 

       public function Apply(Request $_req) 
       { 
           if ($_req->requestType == "请假"&& $_req->num <= 5) 
           { 
               echo "{$this->name}:{$_req->requestContent} 数量{$_req->num}被批准。<br/>"; 
           } 
           else 
           { 
               if (isset($this->manager)) 
               { 
                   $this->manager->Apply($_req); 
               } 
           } 

       } 
   } 


   //总经理 
   class GeneralManager extends Manager 
   { 
       public function __construct($_name) 
       { 
           parent::__construct($_name); 
       } 

       public function Apply(Request $_req) 
       { 
           if ($_req->requestType == "请假") 
           { 
               echo "{$this->name}:{$_req->requestContent} 数量{$_req->num}被批准。<br/>"; 
           } 
           else if($_req->requestType=="加薪"&& $_req->num <= 500) 
           { 
               echo "{$this->name}:{$_req->requestContent} 数量{$_req->num}被批准。<br/>"; 
           } 
           else if($_req->requestType=="加薪"&& $_req->num>500) 
           { 
               echo "{$this->name}:{$_req->requestContent} 数量{$_req->num}再说吧。<br/>"; 
           } 
       } 
   } 

$jingli = new CommonManager("李经理"); 
$zongjian = new MajorDomo("郭总监"); 
$zongjingli = new GeneralManager("孙总"); 

//设置直接上级 
$jingli->SetHeader($zongjian); 
$zongjian->SetHeader($zongjingli); 

//申请 
$req1 = new Request(); 
$req1->requestType = "请假"; 
$req1->requestContent = "小菜请假!"; 
$req1->num = 1; 
$jingli->Apply($req1); 

$req2 = new Request(); 
$req2->requestType = "请假"; 
$req2->requestContent = "小菜请假!"; 
$req2->num = 4; 
$jingli->Apply($req2); 

$req3 = new Request(); 
$req3->requestType = "加薪"; 
$req3->requestContent = "小菜请求加薪!"; 
$req3->num = 500; 
$jingli->Apply($req3); 

$req4 = new Request(); 
$req4->requestType = "加薪"; 
$req4->requestContent = "小菜请求加薪!"; 
$req4->num = 1000; 
$jingli->Apply($req4); 

请关注我的订阅号

订阅号.png

Sigrity System SI SerialLink模式进行Pcie3协议仿真分析操作指导-pcie3_client_single_pre Sigrity System SI SerialLink模式提供了10个协议合规性检查工具模板,用户可以将根据实际应用替换模板中的SPICE文件,然后进行协议仿真分析,同时软件还提供了目标结果的模板MASK以及该协议需要检查的项目,通过协议分析视为满足设计要求,下面介绍pcie3_client_single_pre仿真分析,具体操作如下。Random(Rj):随机抖动,该抖动用高斯概率分布来描述,通常是由热噪声和其它随机噪声引起的,默认为1.24%UI RMS(平均值),即和标准值的偏差为1.24%UI。 阅读详情

相关推荐

Petalinux 2021.1 + Vivado 2021 实战:手把手教你为Zynq板卡移植Linux并搞定AXI DMA驱动

本文详细介绍了基于Petalinux 2021.1和Vivado 2021工具链,为Zynq开发板移植Linux系统并开发AXI DMA驱动的全流程。从环境配置、硬件设计到驱动适配与性能优化,提供了实战避坑技巧和版本特异性问题的解决方案,帮助开发者快速构建高速数据传输系统。

weixin_42641741的博客 386

职责链模式 php,php设计模式 Chain Of Responsibility (职责链模式)

25种php设计模式,你全都知道吗?下面用代码介绍职责链模式(Chain Of Responsibility模式)

weixin_35994939的博客 128

旋转因子量化仿真

在单bit接收机中,通过量化FFT核函数来简化计算,将复数坐标中旋转因子单位圆上的点近似到正方形四个边上,就能够用累加实现复数乘法,从而避免使用DSP乘法器。通过仿真查看不同阶的核函数简化效果。

CyberInversion的博客 3102

php设计模式(四)职责链模式

&lt;?php /** * Created by PhpStorm. * User: insei * Date: 2019/1/27 * Time: 7:44 PM */ // 职责链模式(又叫做责任链模式) 包含了一些命令对象和一些处理对象,每个处理对象决定它能 // 出来那些对象,它也知道把自己不能处理的命令交给下一个处理对象,该模式还描述了往该链添加 // 新的处理对象方法。...

坚持 278

打造会自主学习的 AI 助手:OpenClaw 记忆系统完全指南

这不是科幻,这是我正在使用的系统。我的 AI 助手「小琳」已经运行了一段时间,积累了大量的知识和经验,而且还在不断学习成长。心跳(Heartbeat)是 OpenClaw 的定时轮询机制,可以让 AI 主动做一些事情。你有没有遇到过这样的困扰:每次和 AI 对话,它都像失忆了一样,之前聊过的内容完全不记得?设置定时任务:每天早上 8 点,查询天气和热点新闻,通过钉钉推送给我。让你的 AI 助手拥有持久记忆,能够自主学习、总结经验、不断成长。这不仅仅是一个「能记住事情的 AI」,而是一个。

Honmaple的博客 1633

四自由度SCARA机器人的运动学和动力学MATLAB建模与仿真

本文介绍了四自由度SCARA机器人的运动学和动力学建模,使用MATLAB进行了相应的建模与仿真。通过正运动学和动力学分析,可以了解机器人在不同状态下的运动特性和力学特性。这为后续的控制算法设计和性能优化打下了基础。希望本教程对学习SCARA机器人有帮助。

小蜗牛的珍贵百宝箱 3636

PHP设计模式——职责链模式

声明:本系列博客参考资料《大话设计模式》,作者程杰。        职责链模式(又叫责任链模式)包含了一些命令对象和一些处理对象,每个处理对象决定它能处理那些命令对象,它也知道应该把自己不能处理的命令对象交下一个处理对象,该模式还描述了往该链添加新的处理对象的方法。        UML类图:                  角色:        

姜海强 5784

cmu15445(2024fall) project 2

project 2比p1难度要更大,代码量更大且涉及的知识更多,实现中出现的bug更多,好在是最后全部解决了。我最大的收获在于对于多线程编程的理解更深入了,实际发现解决了多个多线程相关的bug,学会了更多多线程下debug的技巧方法,也见识了更多多线程的bug情况。在之后可以更系统的学习一下多线程编程。同时学会实现B+树也是需要掌握的基础。

Jerome_Yi的博客 1554

php实现设计模式之 职责链模式

<?php /** * 职责链模式 * * 为解除请求的发送者和接收者之间的耦合,而使用多个对象都用机会处理这个请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它 * 抽象处理者角色:定义一个处理请求的接口,和一个后继连接(可选) 具体处理者角色:处理它所负责的请求,可以访问后继者,如果可以处理请求则处理,否则将该...

weixin_30300523的博客 75

FDTD仿真实战:从材料导入到反射率曲线分析

本文提供了一份完整的FDTD仿真实战指南,详细讲解了从自定义材料(如WO3)数据导入、结构建模、仿真区域与网格设置,到光源与监视器配置、运行仿真并提取反射率数据的全流程。重点解决了材料库缺失、网格优化、边界条件设置等常见难题,旨在帮助研究人员高效、准确地通过FDTD仿真获取材料的关键光学特性——反射率曲线。

elastic6hunter的博客 341

分区补光与ISP图像调节技术

在安防监控场景中,逆光、强光、明暗不均(如门口 / 窗边的 “阴阳脸” 画面)是导致图像细节丢失的核心问题。分区补光技术通过对画面不同亮度区域精准补光,解决 “局部过曝 / 欠曝” 难题;ISP(图像信号处理器)图像调节技术则通过算法优化,提升画面色彩、对比度与细节。二者协同可实现 “硬件补光 + 算法优化” 的双重增强,是低功耗摄像机实现高清画质的关键技术组合。分区补光与 ISP 图像调节技术:原理、协同方案及安防监控应用案例。一、核心技术原理解析。

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 729

php设计模式之职责链模式

<?php /** * @desc php设计模式之职责链模式(责任链模式) 定义:顾名思义,责任链模式为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。 * 模拟公司...

weixin_30593261的博客 92

【32】OpenCV——图像含义关系?RGGB , BGGR , GRBG , GBRG呢?raw8,raw10,raw12,raw14呢? YUV422; RAW16呢?YCbYCr/RG_GB;

‌如前所述,定义原始数据的位深精度。‌* ‌一种压缩色彩编码方式,通过色度抽样(亮度Y全分辨率,色度U/V半分辨率)减少数据量,常用于视频传输。‌* ‌可能指每个像素分量占16位存储(如高位填充的RAW10/12/14),或未明确量化的高精度原始数据。‌ ‌分类‌核心定义‌关联性及典型应用传感器原始色彩排列(RGGB/BGGR等)决定RAW数据的色彩分布规则RAW位深每个分量的数据精度(8/10/12/14位)影响动态范围和存储空间‌YUV422。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 790

PHP设计模式系列(十九):职责链模式

职责链模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。模式结构 抽象处理者角色(Handler:Approver):定义一个处理请求的接口,和一个后继连接(可选) 具体处理者角色(ConcreteHandler:President):处理它所负责的请求,可以访问后继者,如果可以处理请求则处理,否则将该

qq_32300363的博客 784

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

[php]php设计模式 Chain Of Responsibility (职责链模式)

1 &lt;?php 2 /** 3 * 职责链模式 4 * 5 * 为解除请求的发送者和接收者之间的耦合,而使用多个对象都用机会处理这个请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它 6 * 7 */ 8 abstractclass Handler 9 {10 protected$_handler=null;11 12 publicfunction set...

weixin_34007020的博客 93

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

php 设计模式 职责链,PHP设计模式——职责链模式

职责链模式(又叫责任链模式)包含了一些命令对象和一些处理对象,每个处理对象决定它能处理那些命令对象,它也知道应该把自己不能处理的命令对象交下一个处理对象,该模式还描述了往该链添加新的处理对象的方法。UML类图:图片.png角色:抽象处理者(Manager):定义出一个处理请求的接口。如果需要,接口可以定义出一个方法,以设定和返回对下家的引用。这个角色通常由一个抽象类或接口实现。具体处理者(Comm...

weixin_34998865的博客 163

php八大设计模式之职责链模式

当发生一种事情时,我们需要要对应职责的事物去处理对应的事情。 或者去找最近的类(就是级别最低的)去解决,如果解决不了就顺着往上找职责更高的,直到解决为止。 注意:一定是要有一个职责最高的类,否则会有问题。 例子: 比如某同学骂人...

baoba84620的专栏 98

PHP设计模式—职责链模式

定义: 职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 结构: Handler:抽象类,定义一个处理请示的接口。 ConcreteHandler:具体处理者类,处理它所负责的请求,可访问它的后继者,如果可以处理该请求,就处理之,否则就将请求转发给它的后继者。 Client:客户端代码。 代码实例: /** * 抽象类,定义一个处理请示的接口

幽篁晓筑的博客 281

php 设计模式 职责链,职责链模式_设计模式_设计模式之职责链模式 - Lane Blog

814Clicks: 2398 Date: 2014-04-29 13:38:18 Power By 李轩Lane职责链模式解决了请求需要经过大量的臃肿的逻辑判断,设计模式的职责链模式采用了层层上报的方式,请求发送给响应方,响应方1若不能处理,则发送给响应2,响应2若不能处理则发送给响应3...直到处理为止。职责链模式的关键是,当客户提交一个请求时,请求是沿着一个链条进行传递,直到有一个对象可以负...

weixin_39831170的博客 90

php 设计模式 职责链,php设计模式(四)职责链模式

/*** Created by PhpStorm.* User: insei* Date: 2019/1/27* Time: 7:44 PM*/// 职责链模式(又叫做责任链模式) 包含了一些命令对象和一些处理对象,每个处理对象决定它能// 出来那些对象,它也知道把自己不能处理的命令交给下一个处理对象,该模式还描述了往该链添加// 新的处理对象方法。class Request{public $nu...

weixin_33220713的博客 125

【PHP-设计模式】职责链模式

author:咔咔 WeChat:fangkangfk 什么是职责链模式: 职责链模式是包含了一些命令对象和一些处理对象,每个处理对象决定他能处理的那些命令对象,它也知道把自己不能处理的命令对象移交给下一个处理对象 白话解释: 这个案例一共三个职位,是经理,总监,总经理,职位就类似命令对象,请假这件事就类似命令对象,当经理处理不了的事情就需要移交给总监,总监处理的不了的事情就需...

咔咔博客 591

PHP设计模式之职责链模式

以下文字部分均为本人自己的想法与总结所以未必正确; 参考 https://blog.youkuaiyun.com/jhq0113/article/details/46454419 https://github.com/flyingalex/design-patterns-by-php/blob/master/files/chapter24.md 定义:包含了一些命令对象和一些处理对象,每个处理对象决定...

mzhnuaa的博客 241

PHP设计模式--职责链模式

职责链模式(Responsibility)属于行为型模型,还是比较好理解,就是对于某个请求,一级不能处理就转到二级处理。 生活中用的最普遍的例子就是,公司申请拨款,一万左右的经费,经理可以批准通过,但是达到十万左右的经理就没有权限审批了,需要转交到总监那里去审批,这就是一条职责链。 这样系统可以在不影响客户端的情况下,对责任进行动态的分配。&lt;?php // 请求类 Class ...

战国墨竹的博客 159

php 事件设计模式,PHP设计模式8-职责链模式

星际的兵种属性随着对平衡性的调节,会进行修改。如果这样的话,我们就要考虑减少一个事件和具体处理的关联性。比如一颗×××投下的瞬间,在杀伤范围内的部队或者建筑都会减少血,但是随着距离中心点的远近,受损程度是不同的,而且不同的兵种和建筑受损情况是不同的。待解决的问题:×××投下的瞬间,将杀伤的处理分别交给杀伤范围内的部队或者建筑自己的方法处理。思路:建立一个接口,让所有的部队或者建筑实现。职责链模式(...

weixin_36051281的博客 112
上一篇: php与设计模式-状态模式
下一篇: php与设计模式-访问者模式
码哥说
博客等级 码龄8年 5645粉丝 172原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码哥说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值