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

无锡专业做网站网站描述范例

无锡专业做网站,网站描述范例,首页wordpress主题,网站建设后期文章目录 现实实例反例优化异步职责链 职责链模式在 C# 中是常见的#xff0c;他的定义是#xff1a;使多个对象都有机会处理请求#xff0c;从而避免发送者和请求者之间的耦合关系#xff0c;将对象连成一条链并传递该请求#xff0c;直到有一个对象处理它为止 现实实例… 文章目录 现实实例反例优化异步职责链 职责链模式在 C# 中是常见的他的定义是使多个对象都有机会处理请求从而避免发送者和请求者之间的耦合关系将对象连成一条链并传递该请求直到有一个对象处理它为止 现实实例 上公交车要把硬币递给后排的售票员现在应该不常见了运气好第一个人就是售票员负责要一直传递直到找到售票员 请求发送者只知道链中的第一个节点弱化了发送者和接受者之间的强联系如果不使用职责链模式我们只能知道谁是售票员才能把硬币给他 反例 假设你正在开发一个在线购物网站其中有一个订单处理系统。在该系统中订单需要经过一系列的验证和处理步骤包括库存检查、支付验证、优惠券验证和物流处理 如果是一个程序员新手他有可能实现这样的代码每个步骤都硬编码在里面难以扩展和优化 public class OrderProcessor {public void ProcessOrder(Order order){// 库存检查bool stockAvailable CheckStock(order);if (!stockAvailable){Console.WriteLine(库存不足);return;}// 支付验证bool paymentValidated ValidatePayment(order);if (!paymentValidated){Console.WriteLine(支付验证失败);return;}// 优惠券验证bool couponValidated ValidateCoupon(order);if (!couponValidated){Console.WriteLine(优惠券验证失败);return;}// 物流处理ProcessShipping(order);}private bool CheckStock(Order order){// 检查库存逻辑// ...}private bool ValidatePayment(Order order){// 支付验证逻辑// ...}private bool ValidateCoupon(Order order){// 优惠券验证逻辑// ...}private void ProcessShipping(Order order){// 物流处理逻辑// ...} }public class Order {// 订单数据// ... }优化 这是使用职责链模式优化的代码把请求解耦分给不同的 Handler 执行并通过设置 Next Handler 找到下一个职责任务这就拆分了不同的执行节点变得可扩展了 public abstract class OrderHandler {protected OrderHandler NextHandler;public void SetNextHandler(OrderHandler handler){NextHandler handler;}public abstract void ProcessOrder(Order order); }public class StockCheckHandler : OrderHandler {public override void ProcessOrder(Order order){bool stockAvailable CheckStock(order);if (!stockAvailable){Console.WriteLine(库存不足);return;}if (NextHandler ! null){NextHandler.ProcessOrder(order);}}private bool CheckStock(Order order){// 检查库存逻辑// ...} }public class PaymentValidationHandler : OrderHandler {public override void ProcessOrder(Order order){bool paymentValidated ValidatePayment(order);if (!paymentValidated){Console.WriteLine(支付验证失败);return;}if (NextHandler ! null){NextHandler.ProcessOrder(order);}}private bool ValidatePayment(Order order){// 支付验证逻辑// ...} }public class CouponValidationHandler : OrderHandler {public override void ProcessOrder(Order order){bool couponValidated ValidateCoupon(order);if (!couponValidated){Console.WriteLine(优惠券验证失败);return;}if (NextHandler ! null){NextHandler.ProcessOrder(order);}}private bool ValidateCoupon(Order order){// 优惠券验证逻辑// ...} }public class ShippingHandler : OrderHandler {public override void ProcessOrder(Order order){// 物流处理逻辑// ...} }// 在客户端代码中构建职责链 public class Client {public void Main(){OrderHandler stockCheckHandler new StockCheckHandler();OrderHandler paymentValidationHandler new PaymentValidationHandler();OrderHandler couponValidationHandler new CouponValidationHandler();OrderHandler shippingHandler new ShippingHandler();stockCheckHandler.SetNextHandler(paymentValidationHandler);paymentValidationHandler.SetNextHandler(couponValidationHandler);couponValidationHandler.SetNextHandler(shippingHandler);OrderProcessor orderProcessor new OrderProcessor(stockCheckHandler);Order order new Order();orderProcessor.ProcessOrder(order);} }public class OrderProcessor {private OrderHandler _orderHandler;public OrderProcessor(OrderHandler orderHandler){_orderHandler orderHandler;}public void ProcessOrder(Order order){_orderHandler.ProcessOrder(order);} }public class Order {// 订单数据// ... }异步职责链 每个具体的处理器类都可以异步执行相应的任务并将结果传递给下一个处理器。通过使用异步职责链模式将注册过程的不同步骤解耦并异步处理提高性能和响应速度 public abstract class RegistrationHandler {protected RegistrationHandler NextHandler;public void SetNextHandler(RegistrationHandler handler){NextHandler handler;}public abstract Taskbool ProcessAsync(RegistrationRequest request); }public class UsernameValidationHandler : RegistrationHandler {public override async Taskbool ProcessAsync(RegistrationRequest request){// 验证用户名是否有效await Task.Delay(1000); // 模拟异步操作bool isValid !string.IsNullOrEmpty(request.Username);Console.WriteLine(Username validation completed);// 将结果传递给下一个处理器if (NextHandler ! null){return await NextHandler.ProcessAsync(request) isValid;}return isValid;} }public class EmailValidationHandler : RegistrationHandler {public override async Taskbool ProcessAsync(RegistrationRequest request){// 验证电子邮件是否有效await Task.Delay(1000); // 模拟异步操作bool isValid !string.IsNullOrEmpty(request.Email);Console.WriteLine(Email validation completed);// 将结果传递给下一个处理器if (NextHandler ! null){return await NextHandler.ProcessAsync(request) isValid;}return isValid;} }public class AccountCreationHandler : RegistrationHandler {public override async Taskbool ProcessAsync(RegistrationRequest request){// 创建用户账户await Task.Delay(1000); // 模拟异步操作bool isSuccess true; // 假设账户创建成功Console.WriteLine(Account creation completed);// 将结果传递给下一个处理器if (NextHandler ! null){return await NextHandler.ProcessAsync(request) isSuccess;}return isSuccess;} }
http://www.w-s-a.com/news/985193/

相关文章:

  • 我国旅游网站的建设网站开发 混合式 数据库
  • 淘宝客网站域名家居网站开发项目计划书
  • 网站打不开显示asp苏州注册公司需要多少钱
  • 凡科建站登录官网wordpress主题有什么用
  • 西安双语网站建设怎么做网页动图
  • 宝安自适应网站建设无锡新区企业网站推广
  • 肇庆建设局网站cpanel 安装wordpress
  • 长春启做网站多少怎样换wordpress域名
  • 山西网站建设情况汇总vs2010 c 建设网站
  • 网站推广策划书 精品深圳市住建局和建设局官网
  • 住房和城乡建设部干部学院网站一般做公司网站需要哪几点
  • 网站制作流程详解(学做网站第一步)免费个人网站模版ps
  • 狮山网站建设公司微信平台软件开发
  • 绥芬河网站建设学网站开发的能找什么工作
  • 网站域名申请之后如何做网站微信公众号网页版登录入口
  • 网站优化图片省级精品课程网站
  • 婚纱摄影的网站模板怎么做网站自己当站长
  • 江西建设部网站wordpress弹出式广告
  • 工商年检在哪个网站做中国建设银行个人登录
  • seo做网站郑州巩义网站建设
  • 建设银行网站机构特点业务发展网站推广工作计划
  • 国家信用信息系统年报seo推广赚钱
  • 公司建设网站价格表广州免费拍卖公司
  • 知行网站建设wordpress文章半透明
  • 建设网站的虚拟机配置建设银行宁波分行招聘网站
  • 济南网站开发xywlcn网络推广服务合同模板
  • 品牌网站制作流程图用asp做网站题目
  • 兰州市建设厅网站河南网站建设问一问公司
  • 高档网站建设前端网站大全
  • 深圳电力建设公司网站互联网网站有哪些