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

四川省城乡建设网站电商是干什么工作的

四川省城乡建设网站,电商是干什么工作的,网络优化有前途吗,宿迁房产网二手房spring boot策略模式实用: 告警模块 0 涉及知识点 策略模式, 模板方法, 代理, 多态, 反射 1 需求概括 场景: 每隔一段时间, 会获取设备运行数据, 如通过温湿度计获取到当前环境温湿度;需求: 对获取回来的进行分析, 超过配置的阈值需要产生对应的告警 2 方案设计 告警的类…spring boot策略模式实用: 告警模块 0 涉及知识点 策略模式, 模板方法, 代理, 多态, 反射 1 需求概括 场景: 每隔一段时间, 会获取设备运行数据, 如通过温湿度计获取到当前环境温湿度;需求: 对获取回来的进行分析, 超过配置的阈值需要产生对应的告警 2 方案设计 告警的类别往往容易变化, 比如今天只有温度过高告警, 明天可能就要增加一个温度过低告警, 所以设计最好可以满足开闭原则, 方便后续对功能进行删减; 整体思路如下: 顶层接口Handler定义了两个方法, check用于校验是否应该产告警, 入参可以选择传入告警配置和需要判定对象, handle方法主要用于告警的具体处理过程, 如之前是否存在告警等;统一抽象类AbstractHandler中, 重写handle方法, 作为模版方法, 一般不同的告警处理流程是相近的, 可以抽象处理, 如都要判断进行判断当前是否已存在告警等; 抽象类中还可以抽象出通用的方法和声明通用属性;各个具体实现类, 如TemperatureHandler等, 各类告警的具体实例对象, 如果告警判定方式或处理流程上有不同, 可以选择性的重写check方法或handle方法, 由于java的多态, 程序运行时会选择正确处理方式; 为了保证模块的完整性, 增加代理类屏蔽告警的内部处理逻辑, 外部统一通过代理类调用; 3 代码实现 接口 /*** 顶级接口* author lixiyuan*/ public interface Handler {boolean check(AlarmConfig config, Object data);void handle(AlarmConfig config, Integer id, Object data); }抽象类 /*** 抽象类, 抽取通用字段/方法, 实现模板方法* author lixiyuan*/ public class AbstractHandler implements Handler {Autowiredprivate CurrentAlarmService currentAlarmService;Overridepublic boolean check(AlarmConfig config, Object data) {return false;}Overridepublic void handle(AlarmConfig config, Integer id, Object data) {// 获取当前存在的告警CurrentAlarm current currentAlarmService.getCurrentAlarmById();// 比较阈值boolean check check(config, data);// 为true发生告警if (check) {if (current null) {// 创建告警currentAlarmService.save();} else {// 更新告警currentAlarmService.update();}} else {if (current ! null) {// 结束告警currentAlarmService.finish();}}}/*** 反射获取属性值*/protected String getValueByField(Object obj, String fieldName) {if (obj null) {return ;}try {Field field obj.getClass().getDeclaredField(fieldName);field.setAccessible(true);Object value field.get(obj);return value null ? : value.toString();} catch (NoSuchFieldException | IllegalAccessException e) {System.out.println();throw new RuntimeException(e);}}/*** 如果判定方法比较通用, 也可以在这里定义好, 各个子类调用一下就行*/protected boolean commonCompare() {return false;} }实现子类 /**** author lixiyuan*/ Component public class HumidityHandler extends AbstractHandler {Overridepublic boolean check(AlarmConfig config, Object data) {// 通过反射获取实时数据String humidity getValueByField(data, humidity);// 拿到配置中的阈值,然后比较, 略return false;} }/**** author lixiyuan*/ Component public class TemperatureHandler extends AbstractHandler {Overridepublic boolean check(AlarmConfig config, Object data) {// 通过反射获取实时数据String humidity getValueByField(data, temperature);// 拿到配置中的阈值,然后比较, 略return false;} }代码详见: [完成代码](nanqiangli/wushixian (github.com))
http://www.w-s-a.com/news/768520/

相关文章:

  • 网站后台账号密码破解杭州酒店网站设计公司推荐
  • 和县网站开发秦皇岛建设工程信息网站
  • 国外网站用什么dns好建一个下载网站要什么cms系统
  • 礼品工艺品网站建设手机做网站哪家好
  • 泉州网站建设方案维护怎样选择网站建设
  • 江苏建站速度忿先进的网站建设
  • 广州天河建站公司com域名注册多少钱
  • 成都网站建设推广好vs2013如何做网站
  • 茶叶网站建设模板企业网站备案要多少钱
  • 怎么查网站找谁做的win主机伪静态规则 wordpress
  • 轻云服务器菁英版 多个网站北京it外包服务商
  • 售后服务 网站建设阳江seo优化
  • 网站建设后怎么赚钱wordpress调用导航栏
  • 特产网站设计六色网站
  • 服务器网站备案做网站公司如何赚钱
  • 怎样进行站点优化荣成市有做网站的吗
  • 合肥建设工会网站芜湖做网站建设公司
  • 玉林市住房和城乡建设局网站网站开发百灵鸟
  • 网站怎么做双机房切换建设部网站2015年第158号
  • 郑州服务设计公司网站色块的网站
  • 网站设计所用到的技术做网站添加mp3
  • 凡科做的微网站怎样连接公众号seo李守洪排名大师
  • 温州网站开发网站的制作东莞寮步伟易达电子厂
  • 北京网站设计制作关键词优化微信小程序开发推广网站建设优化规划书
  • 杭州临平网站建设开发公司将购房款划给总公司的法律责任
  • 广东外贸网站推广分类wordpress
  • 聚美优品网站建设方案商城和营销型网站建设
  • 比较著名的seo网站如何建设网站?
  • 如何做商业网站最火wordpress主题
  • 建设网站需要哪些软硬件条件wordpress文章页标题优化