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

html嵌入网站网络营销的专业知识

html嵌入网站,网络营销的专业知识,wordpress 付费会员,预付做网站订金怎么做账责任链模式:请求从链中的一个对象传递到下一个对象,直到请求被响应为止。通过这种方式在对象之间去除耦合。 用途:请假审批、采购审批等。 案例介绍:以公司采购东西为例子来实现责任链模式。公司规定,采购架构总价在…

责任链模式:请求从链中的一个对象传递到下一个对象,直到请求被响应为止。通过这种方式在对象之间去除耦合。

用途:请假审批、采购审批等。

案例介绍:以公司采购东西为例子来实现责任链模式。公司规定,采购架构总价在1万之内,经理级别的人批准即可,总价大于1万小于2万5的则还需要副总进行批准,总价大于2万5小于10万的需要还需要总经理批准,而大于总价大于10万的则需要组织一个会议进行讨论

审批类: 

    /// <summary>/// 审批实体类/// </summary>internal class Approver{#region 数据库对应字段/// <summary>/// 用户Id/// </summary>public string UId { get; set; }/// <summary>/// 用户名/// </summary>public string Name { get; set; }/// <summary>/// 下一个审批Id/// </summary>public string NextApproverId { get; set; }/// <summary>/// 当前最多审批的金额/// </summary>public int Amount { get; set; }#endregionpublic Approver NextApprover { get;private set; }void GetNextApprover(){if (!string.IsNullOrWhiteSpace(NextApproverId)){// 查找数据库NextApprover = TestData.GetDataWithUId(NextApproverId);}}public virtual void ProcessRequest(PurchaseRequest request){GetNextApprover();if (request.Amount <= Amount){Console.WriteLine($"[{Name}] 批准了购买 [{request.ProductName}] 的请求");}else{if (NextApprover == null)Console.WriteLine($"需要开会讨论购买 [{request.ProductName}]");}if (NextApprover != null){NextApprover.ProcessRequest(request);}}}

 采购类:

    /// <summary>/// 采购请求/// </summary>internal class PurchaseRequest{// 金额public double Amount { get; set; }// 产品名字public string ProductName { get; set; }public PurchaseRequest(double amount, string productName){Amount = amount;ProductName = productName;}}

测试数据:

internal class TestData{static List<Approver> approvers;static TestData(){approvers = new List<Approver>(3);Approver approver1 = new Approver(){UId = Guid.NewGuid().ToString(),Name = "王总",Amount = 100000};Approver approver2 = new Approver(){UId = Guid.NewGuid().ToString(),Name = "李副总",NextApproverId = approver1.UId,Amount = 25000};Approver approver3 = new Approver(){UId = Guid.NewGuid().ToString(),Name = "孙经理",NextApproverId = approver2.UId,Amount = 10000};approvers.Add(approver1);approvers.Add(approver2);approvers.Add(approver3);}internal static List<Approver> GetDatas(){return approvers;}internal static List<Approver> GetDatas(Func<Approver, bool> func){return approvers.Where(func).ToList();}internal static Approver GetDataWithUId(string uid){return GetData((t) => t.UId == uid);}internal static Approver GetData(Func<Approver, bool> func){return approvers.FirstOrDefault(func);}}

测试用例:

public static void Test(){// 商品类PurchaseRequest purchase = new PurchaseRequest(20000,"电脑");PurchaseRequest purchase2 = new PurchaseRequest(2000, "笔");PurchaseRequest purchase3 = new PurchaseRequest(30000, "手机");PurchaseRequest purchase4 = new PurchaseRequest(110000, "3台电脑");// 需要审批的商品PurchaseRequest NeedPurchase = purchase4;// 根据金额筛选出权限最低的人var firstData = TestData.GetDatas().Where(t=>t.Amount>= NeedPurchase.Amount).OrderBy(t => t.Amount).FirstOrDefault();if (firstData == null)firstData = TestData.GetDatas().OrderByDescending(t => t.Amount).LastOrDefault();// 开始审批firstData.ProcessRequest(NeedPurchase);}

 

 

 

 

 

 

http://www.yayakq.cn/news/746203/

相关文章:

  • 购物网站建设平台如何制作网址教程
  • dede模板蓝色大气简洁企业网站模板沧州网络推广
  • 沭阳三剑客做网站小程序ui设计报价
  • 中国住房和城乡建设部查询网站本科生做网站编辑
  • 哪些域名适合营销型网站网站的ico怎么做
  • 海南住建部建设网站的网站办公管理软件
  • 站长工具ping推广型网站开发软件
  • html官方网站项目0基础网站建设模板
  • 中国建设招标网是权威网站吗江苏网站设计公司电话
  • 酒店品牌设计网站建设微信官方网站注册
  • 泉州网站开发人员打开小程序入口直接进入
  • 石家庄网站建设流程wordpress 后台精简
  • 上海 网站建设 500强整合营销传播的定义
  • 加工平台网站wordpress开源主题
  • 建站网站插件会展设计专业学什么
  • 河源建设网站网站开发 简单留言板
  • 电商网站建设模板做物流网站多少钱
  • 法库综合网站建设方案软件技术专升本
  • 可以自己买服务器做网站吗小型教育网站开发
  • 国内优秀设计网站站长自适应网站做百度推广
  • 璧山网站建设房产投资还有前景吗
  • 江苏工信部网站备案查询网站建设那个公司好
  • 广州做网站公司电话网站开发招标书
  • 手机html5 网站导航代码微信模板消息
  • 长春定制建站企业网站新乡微网站建设
  • 江西建设职业技能教育咨询网站免费asp网站程序下载
  • 音乐网站设计源码上海建设银行官网网站
  • 做网站分期付款比例招人制作网站
  • 韩国网站购物网站开发怎么自学
  • 学做卤味视频网站什么网站可以发布有偿做项目