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

河南省商丘网站网软志成企业网站管理系统

河南省商丘网站,网软志成企业网站管理系统,wordpress制作企业网站,wordpress博客主题源码模式定义 责任链模式#xff08;Chain of Responsibility Pattern#xff09;是一种行为型设计模式#xff0c;允许多个对象按链式顺序处理请求#xff0c;直到其中一个对象处理为止。该模式将请求的发送者和接收者解耦#xff0c;使多个对象都有机会处理请求。 模式结构…模式定义 责任链模式Chain of Responsibility Pattern是一种行为型设计模式允许多个对象按链式顺序处理请求直到其中一个对象处理为止。该模式将请求的发送者和接收者解耦使多个对象都有机会处理请求。 模式结构 抽象处理者Handler 定义处理请求的接口如 handleRequest()持有下一个处理者的引用nextHandler 具体处理者ConcreteHandler实现请求处理逻辑决定是否处理或传递请求 客户端Client构建处理链并触发请求 适用场景 多级处理逻辑数控系统中需要依次执行安全检查、参数校验、运动控制等步骤 动态调整处理流程运行时灵活调整处理链顺序如紧急任务跳过某些校验 解耦请求与处理者避免请求发送者依赖具体处理对象 C示例数控系统场景 场景说明 数控系统执行加工任务时需依次通过安全检查、参数校验、运动控制三个环节任一环节失败则终止流程。 #include #include // 请求类加工任务 class MachiningRequest { public:MachiningRequest(int speed, float depth) : speed_(speed), depth_(depth), isSafe_(false), isValid_(false) {}int speed_;float depth_;bool isSafe_;bool isValid_; };// 抽象处理者 class Handler { protected:Handler* nextHandler_; public:Handler() : nextHandler_(nullptr) {}virtual ~Handler() default;void setNext(Handler* handler) { nextHandler_ handler; }virtual void handleRequest(MachiningRequest request) 0; };// 具体处理者安全检查 class SafetyCheckHandler : public Handler { public:void handleRequest(MachiningRequest request) override {if (request.speed_ 5000 request.depth_ 100.0f) {request.isSafe_ true;std::cout 安全检查通过 std::endl;if (nextHandler_) nextHandler_-handleRequest(request);} else {std::cout 安全校验失败参数超限 std::endl;}} };// 具体处理者参数校验 class ParameterValidator : public Handler { public:void handleRequest(MachiningRequest request) override {if (request.speed_ 0 request.depth_ 0) {request.isValid_ true;std::cout 参数校验通过 std::endl;if (nextHandler_) nextHandler_-handleRequest(request);} else {std::cout 参数校验失败非法数值 std::endl;}} };// 具体处理者运动控制 class MotionController : public Handler { public:void handleRequest(MachiningRequest request) override {if (request.isSafe_ request.isValid_) {std::cout 运动控制执行速度 request.speed_ rpm深度 request.depth_ mm std::endl;}} };int main() {// 构建处理链Handler* safetyCheck new SafetyCheckHandler();Handler* validator new ParameterValidator();Handler* motionCtrl new MotionController();safetyCheck-setNext(validator);validator-setNext(motionCtrl);// 触发请求MachiningRequest task1(2500, 50.0f);std::cout --- 任务1执行 --- std::endl;safetyCheck-handleRequest(task1);MachiningRequest task2(6000, 150.0f);std::cout \n--- 任务2执行 --- std::endl;safetyCheck-handleRequest(task2);delete safetyCheck;delete validator;delete motionCtrl;return 0; }输出结果 --- 任务1执行 --- 安全检查通过 参数校验通过 运动控制执行速度2500rpm深度50mm--- 任务2执行 --- 安全校验失败参数超限实现要点 链式传递每个处理者通过 nextHandler_ 传递请求形成处理链[ 动态扩展新增处理步骤如日志记录只需添加新 ConcreteHandler 终止条件处理者根据业务逻辑决定是否中断链如安全检查失败 模式变体 纯责任链请求必须被严格处理或传递如审批流程 带中断的链处理完成后可终止传递如本示例的安全检查 优先级链按优先级动态排序处理者如紧急任务优先处理
http://www.hkea.cn/news/14411379/

相关文章:

  • 什么网站可以免费推广wordpress 4.9.1
  • 网站网站建设哪家便宜中山精品网站建设市场
  • 上海网站的建设wordpress购买邀请码
  • 网站结构有哪些类型欧亚专线荷兰快递单号查询
  • 大型网站外链是怎么建设的教资注册网站
  • 工商注册网站模板wordpress文章关键字怎么添加
  • 网站不备案支付宝接口建网站要多少钱一个
  • 网站维护多久能好北京建设工程网
  • 自己做网站 教程旅游网站怎么建设
  • 湛江市研发网站建设在新西兰做兼职的网站
  • 万链网站做的怎么样?什么是网络设计制作
  • 旅游网站设计开题报告wordpress页面侧菜单
  • 网站建设市场行情报价莱芜征婚吧
  • 网站报错401网站建设与维护好学吗
  • 织梦源码网站建设好了后登录不了网站开发协议合作
  • 深圳龙华建设工程交易中心网站西部数码网站管理助手错误
  • 建设部网站阮建昌公示龙华建设网站公司
  • 网站建设前的问卷智能响应式网站
  • 电商公司网站建设流程网站建设做什么会计科目
  • 建立网站国内最新的新闻
  • 写男主重生做网站的小说美声广告网站建设
  • 小程序设计网站中恒诚信建设有限公司网站
  • 网站建设与网站优化云南楚雄特产
  • 做网站接广告深圳做网站服务公司
  • 光伏电站建设的国家网站网校搭建平台
  • 建站网站关键词大全西安建站价格表
  • 哈尔滨城乡建设局网站口碑最好的网页游戏
  • 市通建设工程质量监督局网站深圳网站建设联华
  • dw网页制作教程图片主页子页seo 视频
  • 家具网站建设比较好的网站可以多个域名吗