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

唐山做网站的公司全网营销系统是不是传销

唐山做网站的公司,全网营销系统是不是传销,陕西新冠疫情最新消息今天,网页设计教程132应用场景 实现规则匹配的逻辑 比如> <,同时支持 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 value>0;}
}

类似地,我们还可以实现其他的策略类,这些类都实现了 MatchStrategy 接口,并实现了自己的 match 方法。
3、接下来,我们实现组合模式。我们定义一个 CompositeMatchStrategy 类,用于表示多个匹配规则的组合

/*** 组合匹配规则*/
public abstract class CompositeMatchStrategy implements MatchStrategy {protected List<MatchStrategy> 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/989940/

相关文章:

  • 深圳市工程建设交易服务中心网站软文什么意思
  • 大型网架加工厂成都网站建设方案优化
  • 导航网站的广告怎么做的千锋教育官方网
  • etc网站开发票网站制作软件免费下载
  • 上海seo网站设计2022十大网络营销案例
  • 还有做网站的必要吗网站运营推广方案
  • 企业营销型网站建设厂家品牌搜索引擎服务优化
  • 学校网站建设计划怎么成为百度推广代理商
  • 普陀网站开发培训学校seo快速优化
  • 建一个商城网站多少钱免费的网站推广软件
  • 手机网站解决方案看网站搜什么关键词
  • 顺企网江西网站建设宜昌今日头条新闻
  • 坪山网站建设行业现状网页设计与制作代码成品
  • 网站建设需求文档模板下载学大教育一对一收费价格表
  • 小型网站怎样优化百度首页官网
  • 网站开发与iso9001关系百度上做推广怎么做
  • wordpress怎么设置导航镇江seo
  • 番禺建设网站服务软文写作网站
  • 有哪些专做自然风景图片的网站石首seo排名
  • 移动网站虚拟主机seo 排名 优化
  • 专业网站建设课程网站推广优化方式
  • 适合站长做的网站信息流广告投放工作内容
  • 做健身网站步骤网站建设网络公司
  • 武汉整站seo数据上云网站关键词优化怎么做的
  • 网站尾部网络seo推广
  • 建设一个公司网站需要什么知识网站网络推广优化
  • 政府高度重视网站建设怎么做网络推广
  • 自己做的网站是怎么赚钱免费ip地址网站
  • 郑州市政府网站集约化建设计划企业seo排名外包
  • 什么网站可以免费做护师题企业网站管理系统源码