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

携程网站建设评价如何搭建手机网站

携程网站建设评价,如何搭建手机网站,seo的优点和缺点,海淀网站建设哪家公司好应用场景 实现规则匹配的逻辑 比如 ,同时支持 and or 多个条件组合 新增一个条件就增加一个实现类 说明 对于这种需要实现规则匹配的逻辑#xff0c;可以考虑使用策略模式。策略模式可以将不同的算法封装成不同的策略类#xff0c;让它们可以相互替换#xff0c;…应用场景 实现规则匹配的逻辑 比如 ,同时支持 and or 多个条件组合 新增一个条件就增加一个实现类 说明 对于这种需要实现规则匹配的逻辑可以考虑使用策略模式。策略模式可以将不同的算法封装成不同的策略类让它们可以相互替换从而实现不同的行为。在这个问题中可以将不同的匹配规则封装成不同的策略类让它们可以相互替换从而实现不同的匹配行为。 1、具体实现时可以定义一个接口例如 MatchStrategy其中包含一个 match 方法用于判断给定的值是否满足当前规则。然后针对不同的规则可以实现不同的策略类例如 GreaterThanStrategy、LessThanStrategy、EqualStrategy 等它们分别实现 MatchStrategy 接口并实现自己的 match 方法。 2、对于多个条件组合的情况可以使用组合模式来实现。例如可以定义一个 CompositeMatchStrategy 类它实现了 MatchStrategy 接口并包含一个 List 类型的成员变量用于存储多个子策略。然后可以定义一个 AndMatchStrategy 类和一个 OrMatchStrategy 类它们都是 CompositeMatchStrategy 的子类分别实现了 “and” 和 “or” 运算符的匹配逻辑。 这样当需要新增一个条件时只需要新增一个实现了 MatchStrategy 接口的策略类并将它加入到 CompositeMatchStrategy 中即可。整个匹配逻辑的实现就变得非常灵活和可扩展了。 实现 假设我们需要实现一个匹配规则的功能支持以下几种规则 大于等于某个值小于等于某个值等于某个值大于某个值小于某个值 同时还需要支持 “and” 和 “or” 运算符让用户可以将多个规则组合起来使用。 1、首先顶定义一个MatchStrategy 接口用于表示匹配规则 /*** author lsh* date 2023/6/9*/ public interface MatchStrategy {boolean match(String value); } 2、然后我们针对不同的规则实现不同的策略类。例如对于大于某个值的规则我们可以实现一个 MatchStrategyImpl1 类 /*** 匹配规则 大于0*/ public class MatchStrategyImpl1 implements MatchStrategy{Overridepublic boolean match(Integer value) {return value0;} } 类似地我们还可以实现其他的策略类这些类都实现了 MatchStrategy 接口并实现了自己的 match 方法。 3、接下来我们实现组合模式。我们定义一个 CompositeMatchStrategy 类用于表示多个匹配规则的组合 /*** 组合匹配规则*/ public abstract class CompositeMatchStrategy implements MatchStrategy {protected ListMatchStrategy strategies new ArrayList();public void addStrategy(MatchStrategy strategy) {strategies.add(strategy);}}这个类是一个抽象类包含一个 List 类型的成员变量 strategies用于存储多个子策略。它还包含一个 addStrategy 方法用于向 strategies 中添加子策略。 4、针对 “and” 和 “or” 运算符分别实现 AndMatchStrategy 和 OrMatchStrategy 类它们都是 CompositeMatchStrategy 的子类 /*** 或 组合规则*/ public class OrMatchStrategy extends CompositeMatchStrategy {Overridepublic boolean match(Integer value) {for (MatchStrategy strategy : strategies) {if (strategy.match(value)) {return true;}}return false;} }/*** 且 组合规则*/ public class AndMatchStrategy extends CompositeMatchStrategy {Overridepublic boolean match(Integer value) {for (MatchStrategy strategy : strategies) {if (!strategy.match(value)) {return false;}}return true;} } 5、测试 我们期望匹配大于零并且小于3 CompositeMatchStrategy strategy new AndMatchStrategy();strategy.addStrategy(new MatchStrategyImpl1());strategy.addStrategy(new MatchStrategyImpl2(3));if(strategy.match(1)){//匹配成功log.info(1--------------------------------匹配成功);}else{log.info(1--------------------------------匹配失败);}if(strategy.match(4)){//匹配成功log.info(4--------------------------------匹配成功);}else{log.info(4--------------------------------匹配失败);}这样我们就可以灵活地组合多个规则并实现复杂的匹配逻辑了。
http://www.hkea.cn/news/14422426/

相关文章:

  • 认证空间如何显示网站做化妆品网站的原因
  • 个人可以做自媒体网站吗注册一个网站流程
  • 网站子页面如何做seo建个网站花钱做百度推广
  • 网站后台怎么给图片做水印网站框架设计理念
  • 网站群建设公司百度推广 网站吸引力
  • 酒店网站方案做聚划算网站
  • 建一个网站流程wordpress代码打包
  • 建设云网站小说网站开发对影成三人小说
  • 京东商城官方网站wordpress 菜单相册
  • 路桥做网站国外创意型网站设计
  • php网站建设面试visual studio做网站
  • 备案过的网站换域名wordpress字体不能换行
  • 怎样浏览被国内封禁的网站做网站公司工资
  • 购物网站推广怎么做如何查询一个网站是那家公司做的
  • 盐城网站建设定制游戏开发物语完美搭配
  • 谷城网站快速排名陇南网站定制开发公司
  • 南昌网站建设制作与维护成都网站优化维护
  • 建设部网站信息系统网站开发人员招聘
  • 做网站需要雇什么人wordpress flytag
  • 龙岩网络图书淄博seo费用
  • 成品网站制作公司wordpress 改变字体
  • 沈阳装修公司网站建设怎么样用手机做网站关键词
  • 新网站seo优化2021国内军事新闻大事件
  • 冠县住房和城乡建设局网站仿照一个国外的网站要多少钱
  • 关键词爱站网关键词挖掘工具南宁做网站的有几家
  • 如何建微信微商城网站重要新闻摘抄2022
  • 企业网站开发的目的企业qq登录
  • 资源网站推荐为什么无法卸载wordpress
  • 网站开发包含网站维护吗网站建设lhempire
  • 河北建设网站信息查询中心做礼品贸易好的网站