//被*攻击的接口

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 职责链模式相关推荐

  1. 22.Chain of Responsibility(职责链)模式

    技术交流QQ群:1027579432,欢迎你的加入! 1.Chain of Responsibility(职责链)模式动机 在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个 ...

  2. 步步为营 .NET 设计模式学习笔记 十九、Chain of Responsibility(职责链模式)

    概述 在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接受者,如果显示指定,将必不可少地带来请求发送者与接受者的紧耦合. 如何使请求的发送者不需要指定具体的接受者?让请求的 ...

  3. 设计模式之略见一斑(Chain of Responsibility责任链模式)

    设计模式 写道 面向对象开发人员通常希望明确和减少对象间的责任,从而降低对象之间的耦合程序.这样我们的系统更加容易修改,同时也可降低产生缺陷的风险.从某种程度上说,java语言本身能够帮助降低对象间的 ...

  4. Chain of Responsibility -- 责任链模式

    在软件构建构成中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接收者,如果显示指定,将必不可少地带来请求发送者与接收者的紧密耦合.COR(Chain of Reposibility)设计 ...

  5. 京东区块链开源项目——JD Chain介绍及区块链白皮书发布

    导言 近日,京东区块链底层引擎JD Chain正式对外开源并同步上线开源社区,旨在为企业级用户和开发者提供开源服务,帮助他们提高研发效率,加速技术创新.3月30日,国家互联网信息办公室公布了第一批区块 ...

  6. java23中设计模式——行为模式——Chain of Responsibility(职责链)

    2019独角兽企业重金招聘Python工程师标准>>> 角色 抽象处理者角色(Handler):定义出一个处理请求的接口.如果需要,接口可以定义 出一个方法以设定和返回对下家的引用. ...

  7. Chain of Responsibility(责任链模式) 行为型

    责任链模式 一.概述 二.结构 三.适用场景 四.优缺点 五.实例 一.概述 描述:如组长不能处理的金额,需要向经理请求,经理不能请求的需要向老板请求,这样就现成了一条链,每个级别都能处理这金额.而不 ...

  8. Chain of Responsibility 责任链模式 MD

    责任链模式 简介 责任链模式是一种对象的行为模式.在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链,请求在这个链上[传递],直到链上的某一个对象决定处理此请求.发出这个请求的客户 ...

  9. 设计模式(一)Chain Of Responsibility责任链模式

    设计模式篇章,源于网课的学习,以及个人的整理 在我们接收用户提交的字符时,常常会使用到过滤,在学习责任链模式前,我们是这样做的 1.定义一个类 public class MsgProcesser {S ...

最新文章

  1. CentOS 6.7 RPM安装MySQL
  2. python argsort排序结果_numpy.argsort()可以对元组或列表进行排序
  3. 前端路由简介以及vue-router实现原理
  4. 欢庆1024之:程序猿不是你想黑,想黑就能黑!
  5. 开启分页机制———《x86汇编语言:从实模式到保护模式》读书笔记44
  6. Unity3D中JavaScript与C#对比
  7. js long类型精度丢失_解决js处理Long类型丢失精度的问题
  8. php 数字加逗号,PHP数字格式化,数字每三位加逗号
  9. mysql内部代码的优缺点
  10. LRU算法的一种实现方法
  11. 仿微信,qq在短时间内接受多条消息只响一声
  12. Cesium中的地球坐标系转换:岁差章动计算(XYs)
  13. Photoshop脚本 删除当前图层
  14. 2011年分形艺术国际大赛比赛规则
  15. PHP实现时间轴函数(个性化时间)
  16. 阿里云亮眼财报背后,云的打开方式正在重塑
  17. 为什么要用vue,他解决了什么问题,如何使用它?
  18. 课外时间学点历史知识~
  19. 量化交易之HFT篇 - 高频做市模型源码(.cpp文件)
  20. 积极思考综合调查表--调查自己的积极思考品质

热门文章

  1. oracle数据泵导入分区表统计信息报错(一)
  2. 数字音视频技术:音频中的一些概念(采样率, 位深度, 声道数, Sample/Frame/Packet)
  3. centos7下升级cmake,很简单
  4. ffmpeg 把视频解码成jpg
  5. 分析 H.265 + AAC 的 FLV 文件
  6. Kinect学习(一):开发环境搭建
  7. java中if条件结构_Java的控制结构,IF条件选择结构
  8. 用c语言编写黎曼积分计算pi,C语言实现黎曼和求定积分
  9. protobuf中 repeated[Ptr]Field的序列化
  10. jquery checkbox attr区别prop