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

上海网站制作建设怎么样制作网站代码

上海网站制作建设怎么样,制作网站代码,个人空间备案网站名称,网页qq家园责任链模式:请求从链中的一个对象传递到下一个对象,直到请求被响应为止。通过这种方式在对象之间去除耦合。 用途:请假审批、采购审批等。 案例介绍:以公司采购东西为例子来实现责任链模式。公司规定,采购架构总价在…

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

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

案例介绍:以公司采购东西为例子来实现责任链模式。公司规定,采购架构总价在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.wangmingla.cn/news/134333.html

相关文章:

  • 做带字头像的网站推广放单平台
  • 山东招标网官方网站创建网站免费注册
  • 做网站的框架组合温州seo结算
  • 精准网站seo诊断报告校园推广方案
  • 山东省城市建设管理协会网站站长之家域名
  • 做网站竞价没有点击率会员卡营销策划方案
  • 国际网站怎么注册免费的重庆企业网站排名优化
  • 中国有兼职网站开发网站吗淘宝排名查询
  • 什么是sem营销深圳快速seo排名优化
  • 大城县有做网站的吗微博推广方法有哪些
  • wordpress适合电影网站的模板下载网络营销策划方案模板
  • 阳江网商会无锡网站建设方案优化
  • 什么网站做生鲜比较好除了小红书还有什么推广平台
  • 武汉有几家做蔬菜配送的网站湖南靠谱seo优化
  • 哪里做网站seoseo搜索优化公司
  • 外汇110网站上做的这些曝光互联网广告推广是什么
  • 云盘建设网站宁波网络营销怎么做
  • 做棋牌网站多少钱爱站工具包的模块有哪些
  • 鹤壁做网站的公司营销渠道的三个类型
  • 做网站网页的公司长春关键词优化报价
  • 个人网站的制作刷网站软件
  • 万网会员台州seo服务
  • 区块链开发票手机网站怎么优化关键词
  • 珠海做网站的公司网站排名优化+o+m
  • 设计好的网站苏州seo优化
  • 漳州网站建设公司推荐企业网站推广方法实验报告
  • 北京律师网站建设成人本科报考官网
  • 网站建设应该学什么万能导航网
  • 站长工具高清有吗域名注册官网
  • 网站网站开发的免费网站建设seo