职责链模式 php,php Chain of Responsibility 职责链模式
//被*攻击的接口
interface NuclearAttacked {
//处理被*攻击的方法,参数为投放点的x和y坐标
public function NuclearAttacked($x, $y);
}
//人族的基地,实现被*攻击的接口,其他的内容暂时不考虑
class CommandCenter implements NuclearAttacked {
//处理被*攻击的方法,参数为投放点的x和y坐标
public function NuclearAttacked($x, $y)
{
//根据离*中心的距离,定义减少的血,如果超出了剩余的血,就炸掉
}
}
//巡洋舰(俗称大和),实现被*攻击的接口,其他的内容暂时不考虑
class Battlecruiser implements NuclearAttacked {
//处理被*攻击的方法,参数为投放点的x和y坐标
public function NuclearAttacked($x, $y)
{
//根据离*中心的距离,定义减少的血,如果超出了剩余的血,就炸掉
}
}
//*类
class Nuclear {
//被*攻击的对象
public $attackedThings;
//添加被*攻击的对象
public function addAttackedThings($thing)
{
//添加被*攻击的对象
$this->attackedThings[] = $thing;
}
//*爆炸的方法,参数为投放点的x和y坐标
public function blast($x, $y)
{
//把爆炸的事情交给所有涉及的对象,让他们自己处理
foreach ($this->attackedThings as $thing)
{
//把爆炸的事情交给所有涉及的对象,让他们自己处理
$thing->NuclearAttacked($x, $y);
}
}
}
//新建一个基地对象
$CommandCenter = new CommandCenter();
//新建一个巡洋舰对象
$Battlecruiser = new Battlecruiser();
//造了一颗*
$Nuclear2 = new Nuclear();
//假设投放成功,那个瞬间一个基地对象和一个巡洋舰对象在杀伤范围内
$Nuclear2->addAttackedThings($CommandCenter);
$Nuclear2->addAttackedThings($Battlecruiser);
//*爆炸,这样就把这个事件交给那些涉及的对象的处理方法,假设投放点的x和y坐标是2353, 368
$Nuclear2->blast(2353, 368);
?>
职责链模式 php,php Chain of Responsibility 职责链模式相关推荐
- 22.Chain of Responsibility(职责链)模式
技术交流QQ群:1027579432,欢迎你的加入! 1.Chain of Responsibility(职责链)模式动机 在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个 ...
- 步步为营 .NET 设计模式学习笔记 十九、Chain of Responsibility(职责链模式)
概述 在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接受者,如果显示指定,将必不可少地带来请求发送者与接受者的紧耦合. 如何使请求的发送者不需要指定具体的接受者?让请求的 ...
- 设计模式之略见一斑(Chain of Responsibility责任链模式)
设计模式 写道 面向对象开发人员通常希望明确和减少对象间的责任,从而降低对象之间的耦合程序.这样我们的系统更加容易修改,同时也可降低产生缺陷的风险.从某种程度上说,java语言本身能够帮助降低对象间的 ...
- Chain of Responsibility -- 责任链模式
在软件构建构成中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接收者,如果显示指定,将必不可少地带来请求发送者与接收者的紧密耦合.COR(Chain of Reposibility)设计 ...
- 京东区块链开源项目——JD Chain介绍及区块链白皮书发布
导言 近日,京东区块链底层引擎JD Chain正式对外开源并同步上线开源社区,旨在为企业级用户和开发者提供开源服务,帮助他们提高研发效率,加速技术创新.3月30日,国家互联网信息办公室公布了第一批区块 ...
- java23中设计模式——行为模式——Chain of Responsibility(职责链)
2019独角兽企业重金招聘Python工程师标准>>> 角色 抽象处理者角色(Handler):定义出一个处理请求的接口.如果需要,接口可以定义 出一个方法以设定和返回对下家的引用. ...
- Chain of Responsibility(责任链模式) 行为型
责任链模式 一.概述 二.结构 三.适用场景 四.优缺点 五.实例 一.概述 描述:如组长不能处理的金额,需要向经理请求,经理不能请求的需要向老板请求,这样就现成了一条链,每个级别都能处理这金额.而不 ...
- Chain of Responsibility 责任链模式 MD
责任链模式 简介 责任链模式是一种对象的行为模式.在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链,请求在这个链上[传递],直到链上的某一个对象决定处理此请求.发出这个请求的客户 ...
- 设计模式(一)Chain Of Responsibility责任链模式
设计模式篇章,源于网课的学习,以及个人的整理 在我们接收用户提交的字符时,常常会使用到过滤,在学习责任链模式前,我们是这样做的 1.定义一个类 public class MsgProcesser {S ...
最新文章
- CentOS 6.7 RPM安装MySQL
- python argsort排序结果_numpy.argsort()可以对元组或列表进行排序
- 前端路由简介以及vue-router实现原理
- 欢庆1024之:程序猿不是你想黑,想黑就能黑!
- 开启分页机制———《x86汇编语言:从实模式到保护模式》读书笔记44
- Unity3D中JavaScript与C#对比
- js long类型精度丢失_解决js处理Long类型丢失精度的问题
- php 数字加逗号,PHP数字格式化,数字每三位加逗号
- mysql内部代码的优缺点
- LRU算法的一种实现方法
- 仿微信,qq在短时间内接受多条消息只响一声
- Cesium中的地球坐标系转换:岁差章动计算(XYs)
- Photoshop脚本 删除当前图层
- 2011年分形艺术国际大赛比赛规则
- PHP实现时间轴函数(个性化时间)
- 阿里云亮眼财报背后,云的打开方式正在重塑
- 为什么要用vue,他解决了什么问题,如何使用它?
- 课外时间学点历史知识~
- 量化交易之HFT篇 - 高频做市模型源码(.cpp文件)
- 积极思考综合调查表--调查自己的积极思考品质
热门文章
- oracle数据泵导入分区表统计信息报错(一)
- 数字音视频技术:音频中的一些概念(采样率, 位深度, 声道数, Sample/Frame/Packet)
- centos7下升级cmake,很简单
- ffmpeg 把视频解码成jpg
- 分析 H.265 + AAC 的 FLV 文件
- Kinect学习(一):开发环境搭建
- java中if条件结构_Java的控制结构,IF条件选择结构
- 用c语言编写黎曼积分计算pi,C语言实现黎曼和求定积分
- protobuf中 repeated[Ptr]Field的序列化
- jquery checkbox attr区别prop