策略模式

简介: s
调用
Optional<CommunicateDataHandle> handleOptional = communicateDataHandleList.stream().filter(resolver -> resolver.support(tabId, blockId)).findFirst();
        if (handleOptional.isPresent()) {
   
            return handleOptional.get().queryData(tabId,blockId,statDate, session, param,dimensionMap);
        } else {
   
            throw new BaseException(BaseExceptionMessage.SYSTEM_ERROR);
        }
接口
public interface CommunicateDataHandle {
   
    CommunicateDataDTO queryData(Long tabId, Long blockId, String statDate, Session session, String param, Map<String, DimensionHierarchy> dimensionMap);
}
实现
@Slf4j
@Service
public class MonthlyScaleReachCommunicate implements CommunicateDataHandle {
   
@Override
    public boolean support(Long tabId, Long blockId) {
   
        return CommonConstants.TAB_WHOLE_MANAGE.equals(tabId) && CommonConstants.BLOCK_8.equals(blockId);
    }

    @Override
    public CommunicateDataDTO queryData(Long tabId, Long blockId, String statDate, Session session, String param, Map<String, DimensionHierarchy> dimensionMap) {
   
        IndicatorReqDTO req = new IndicatorReqDTO();
}
}
相关文章
|
关系型数据库 MySQL Java
Sakai-21部署
记录了两种部署方式: ① 二进制部署 ② 源文件部署
Sakai-21部署
|
6月前
|
安全 数据建模 物联网
关于IP SSL证书的9大常见问题解答
IP SSL证书用于实现IP地址的HTTPS加密,确保数据传输安全。它分为DV型和OV型企业型,支持单个或多个IP地址保护。常见问题包括:什么是IP SSL证书、其作用与类型、签发机构、内网申请可行性、应用场景、价格范围、申请条件与流程等。锐安信sslTrus和CFCA等品牌支持内网IP加密,价格从几百到几千元不等。申请需确认型号、生成CSR文件并提交验证。
|
6月前
|
Kubernetes Cloud Native Serverless
OpenKruise v1.8版本解读:解锁云原生应用管理的无限可能
OpenKruise在2025年2月发布了最新的1.8版本。此版本带来了诸多重要的更新与增强,致力于进一步提升云原生应用管理的效率、弹性和可靠性。
|
7月前
|
存储 人工智能 NoSQL
SpringBoot整合Redis、ApacheSolr和SpringSession
本文介绍了如何使用SpringBoot整合Redis、ApacheSolr和SpringSession。SpringBoot以其便捷的配置方式受到开发者青睐,通过引入对应的starter依赖,可轻松实现功能整合。对于Redis,可通过配置RedisSentinel实现高可用;SpringSession则提供集群Session管理,支持多种存储方式如Redis;整合ApacheSolr时,借助Zookeeper搭建SolrCloud提高可用性。文中详细说明了各组件的配置步骤与代码示例,方便开发者快速上手。
129 11
|
安全 API PHP
【PHP 开发专栏】PHP 模板引擎的使用
【4月更文挑战第30天】本文探讨了PHP模板引擎在Web开发中的重要性,解释了其基础知识,包括分离代码逻辑与显示、工作原理和优势。文章介绍了Smarty、Twig和Plates三个常见模板引擎的特点、使用方法及示例代码。模板引擎常用于动态页面生成、CMS系统和电商网站开发。在使用时需关注性能优化、安全和版本管理。选择合适的模板引擎能提升开发效率和代码质量。
245 2
|
存储 缓存 算法
[尚硅谷flink] 检查点笔记
[尚硅谷flink] 检查点笔记
413 3
|
机器学习/深度学习 文字识别 算法
[Halcon&识别] OCR字符识别
[Halcon&识别] OCR字符识别
479 1
|
小程序 JavaScript
小程序一个页面调用多个号码的手机拨号功能
小程序一个页面调用多个号码的手机拨号功能
317 0
|
Linux C# Docker
推荐一款基于.Net Core开发简约漂亮的 WPF UI库
这是一款使用简单、UI评论的WPF UI库,借鉴了多个开源框架。UI简单清晰、大气。
1112 0
推荐一款基于.Net Core开发简约漂亮的 WPF UI库
|
IDE Unix 编译器
iOS小技能:Makefile的使用(Makefile的规则、部署脚本、config管理ssh连接)
make是一个命令工具,是一个解释makefile中指令的命令工具。其本质是**文件依赖**,Makefile文件制定编译和链接所涉及的文件、框架、库等信息,将整个过程自动化。
550 0