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

网站建设怎么评估h5网页制作平台

网站建设怎么评估,h5网页制作平台,一个网站每年维护费用,安徽淮北发现一例一#xff1a;实际场景介绍 我们在给用户做订单催付通知的时候#xff0c;会有这样的一种场景#xff0c;用户在系统后台设置一组可以催付的规则#xff0c;比如说订单金额大于xx元#xff0c;非黑名单用户#xff0c;来自 哪个地区#xff0c;已购买过某个商品#x…一实际场景介绍 我们在给用户做订单催付通知的时候会有这样的一种场景用户在系统后台设置一组可以催付的规则比如说订单金额大于xx元非黑名单用户来自 哪个地区已购买过某个商品指定某个营销活动的人等等这样的条件如果这时用户在淘宝上下了一个订单那程序要判断的就是看一下此订单是否满足这 些规则中的某一个如果满足我们给他发送催付通知这种场景是很多做CRM的同学都会遇到的问题那针对这种场景如何更好的规划业务逻辑呢 二普通的编程代码  在这里我们就不考虑多筛选条件下的性能而只从代码维护复杂度考虑如果不清楚设计模式的同学大概会写出如下的代码 namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var regulars new ListRegulars(); regulars.Add(new Regulars() { RegularID 1, RegularName 规则1, AnalysisConditons xxxx }); regulars.Add(new Regulars() { RegularID 1, RegularName 规则2, AnalysisConditons xxxx }); regulars.Add(new Regulars() { RegularID 1, RegularName 规则3, AnalysisConditons xxxx }); regulars.Add(new Regulars() { RegularID 1, RegularName 规则4, AnalysisConditons xxxx }); regulars.Add(new Regulars() { RegularID 1, RegularName 规则5, AnalysisConditons xxxx }); var filters FilterRegularID(regulars); filters FilterRegularName(filters); filters FilterCondtions(filters); //... 后续逻辑 } static ListRegulars FilterRegularID(ListRegulars persons) { //过滤 “姓名” 的逻辑 return null; } static ListRegulars FilterRegularName(ListRegulars persons) { //过滤 “age” 的逻辑 return null; } static ListRegulars FilterCondtions(ListRegulars persons) { //过滤 “email” 的逻辑 return null; } } /// summary /// 各种催付规则 /// /summary public class Regulars { public int RegularID { get; set; } public string RegularName { get; set; } public string AnalysisConditons { get; set; } } } 为了演示上面的代码是从regularidregularnamecondition三个维度对regulars这个聚合对象进行AND模式的筛选过滤当过滤维度比较多的时候这种写法看的出来是简单粗暴维护起来也必须简单粗暴 所以上万行代码也就是这么出来的设计模式告诉我们一个简单的“开闭原则”那就是追求最小化的修改代码这种场景有更好的优化策略吗对应到设计模式上就是“过滤器模式”专门针对这种场景的解决方案一个维度一个类然后通过逻辑运算类将他们进行组合可以看出这是一种“结构式的设计模式”。 三过滤器模式 好了废话不多说先来看一下优化后的设计图纸如下 从上面这张图纸中可以看到我已经将三个维度的过滤方法提取成了三个子类由此抽象出了一个IFilter接口当然你也可以定义成抽象类然后实现了两个运算级AND和OR子类Filter用于动态的对原子性的RegularIDFilter,RegularNameFilterReuglarCondtionFilter进行AND,OR逻辑运算下面我们再看具体代码 1.IFilter public interface IFilter{ListRegulars Filter(ListRegulars regulars);} 2. RegularIDFilter public class RegularIDFilter : IFilter { /// summary /// Regulars的过滤逻辑 /// /summary /// param nameregulars/param /// returns/returns public ListRegulars Filter(ListRegulars regulars) { return null; } } 3.RegularNameFilter public class RegularNameFilter : IFilter { /// summary /// regularName的过滤方式 /// /summary /// param nameregulars/param /// returns/returns public  ListRegulars Filter(ListRegulars regulars) { return null; } } 4. RegularCondtionFilter public class RegularCondtionFilter : IFilter { /// summary /// Condition的过滤条件 /// /summary /// param nameregulars/param /// returns/returns public  ListRegulars Filter(ListRegulars regulars) { return null; } } 5.AndFilter /// summary /// filter的 And 模式 /// /summary public class AndFilter : IFilter { ListIFilter filters new ListIFilter(); public AndFilter(ListIFilter filters) { this.filters filters; } public ListRegulars Filter(ListRegulars regulars) { var regularlist new ListRegulars(regulars); foreach (var criteriaItem in filters) { regularlist criteriaItem.Filter(regularlist); } return regularlist; } } 6.OrFilter public class OrFilter : IFilter { ListIFilter filters null; public OrFilter(ListIFilter filters) { this.filters filters; } public ListRegulars Filter(ListRegulars regulars) { //用hash去重 var resultHash new HashSetRegulars(); foreach (var filter in filters) { var smallPersonList filter.Filter(regulars); foreach (var small in smallPersonList) { resultHash.Add(small); } } return resultHash.ToList(); } } 7. 最后我们客户端调用程序就简单了只要将“原子性”的过滤条件追加到“逻辑运算类”中就完美了如下图 当你仔细看完上面的代码会不会发现如果后续有需求变更比如说增加筛选的维度我只需要新增一个继承IFilter的子类就搞定了客户端在调用的时候只要 在Filters集合中追加该筛选维度是不是就OK了所以这种模式几乎达到了无代码修改的地步~~~好了本篇就说到了这里希望对你有帮助~ 相关文章; 从真实项目中抠出来的设计模式——第一篇策略模式 原文地址http://www.cnblogs.com/huangxincheng/p/6415393.html.NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
http://www.huolong8.cn/news/186905/

相关文章:

  • 网站风格配置怎么做wordpress中文主题 wp-cms
  • 有哪些设计网站做海报网站
  • 香山红叶建设有限公司网站wordpress打开非常慢
  • 花生壳动态域名申请seo搜索引擎优化推荐
  • 网站续费一般多少钱wordpress 模块
  • 丹东做网站公司怎么在服务器上装WordPress
  • 做ppt图片用的网站有哪些问题erp软件实施
  • 南京做网站南京乐识赞从旁鼓动人做某事 网站
  • 做网站如何与美工配合中国服装设计公司排名
  • 帝国cms更改网站ico培训学校管理系统
  • 营销型网站方案ppt模板创业网站推广怎么做
  • 南昌网站建设和推广上海市招工网
  • 品牌型网站建设解决方案珠海市研发网站建设
  • 百度做网站承德在线招聘
  • 山东省济宁市建设厅官方网站有哪些做淘宝素材的网站有哪些
  • 乐清市建设路小学网站个人建网站一般多少钱?
  • 深圳的网站建设的公司网页是网站的什么颜色好看
  • 网站开发工具报告通信网站建设
  • 在线考试系统网站模板自动推广软件下载
  • 北京鸿讯泰德网站建设wordpress主题:yusi
  • 朔州城市建设网站除了小红书还有什么推广平台
  • 金融互助网站建设湖南人文科技学院王牌专业
  • 上海建设网站公司哪家好最专业的网站建设机构
  • 无锡网站建设优化西安做网站的公司在哪
  • 网站建设需要哪些硬件wordpress 海淘主题下载
  • 大兴网站开发网站建设报价深圳网站设计公司费用多少
  • 北京网站建设成都公司中英文的网站怎么建设
  • 做网站需要学会什么自己做一个商城网站怎么做
  • 个人备案网站可以做商城展示万网建站教程
  • 重庆网站排名推广网站建设公司哪家强