策略模式

简介: 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();
}
}
相关文章
|
JavaScript 前端开发
JS将两个数组和合并成数组包对象格式的方法
JS将两个数组和合并成数组包对象格式的方法
358 0
|
3月前
|
IDE 小程序 开发工具
HBuilderX 4.76安装教程 Windows版:解压+创建桌面快捷方式+启动验证指南
HBuilder X是DCloud推出的轻量级IDE,专注Web、小程序及uni-app跨平台开发,以极速性能、智能提示和护眼设计著称。本文详解4.76版下载、解压、创建快捷方式及验证安装全流程。
|
机器学习/深度学习 人工智能 小程序
|
8月前
|
存储 域名解析 弹性计算
阿里云服务器购买流程,域名注册、解析与备案教程参考
无论是构建企业官网、电商平台,还是部署应用程序,购买云服务器,注册域名,备案及域名解析和绑定是用户要操作的上云步骤。对于有的初次在阿里云完成上云的新手用户来说,这些过程并不是很清楚,本文将以图文形式为大家解析阿里云服务器ECS的购买流程,以及实例规格、存储、网络等核心配置选择注意事项,同步介绍域名注册、备案及解析至云服务器的实操步骤,手把手指导您完成线上业务的全流程部署。
|
3月前
|
固态存储 Java 测试技术
Maven 构建从 30 分钟优化到 3 分钟:8 个实战技巧全解析
本文深入探讨了 Maven 构建性能优化的核心技巧,通过 8 个实战案例展示了从 30 分钟优化到 3 分钟的完整过程。包含双镜像热备配置、并行构建参数调优、JVM 参数优化、SSD 仓库迁移、增量编译策略等企业级最佳实践,提供完整的配置文件和一键优化脚本。掌握这些技能,你的 Maven 构建效率将提升 10 倍以上,适合 Java 开发者、DevOps 工程师阅读。
|
8月前
|
机器学习/深度学习 算法 搜索推荐
京东图片识别搜索API,搜索相似商品用于多模态数据训练
京东图片识别搜索API(拍立淘)基于深度学习,通过CNN提取图像特征,结合近似最近邻算法实现以图搜图。支持图片URL/Base64输入,返回结构化商品信息,具备多维度筛选与智能排序功能,提升视觉购物体验。(238字)
|
12月前
|
运维 监控 安全
在多人协作的项目中,如何避免代码被误回滚?
在多人协作的项目中,如何避免代码被误回滚?
516 57
|
10月前
|
Ubuntu 安全 Linux
探索多样化Ubuntu风味:Linux入门第一课「科普001」
Ubuntu 的风味远不止于官方列出的这些,它们构成了一个多姿多彩的生态,适用于各类用户的需求。我们可以看到许多优秀的变体,虽然有些已不再被官方支持。Linux 世界总在不断变化,每个风味都有其独特的故事和个性,正是这份多变让 Linux 社区生机勃勃。欢迎大家共同探索这个多元的数字世界。
|
Ubuntu Linux Windows
Debian:apt-get命令汇总
`apt-get` 是 Debian 及其衍生发行版(如 Ubuntu)中的核心包管理工具,用于安装、更新和卸载软件。它通过操作 `.deb` 格式的软件包,实现对系统软件的集中管理。常见命令包括 `install`(安装)、`remove`(卸载)、`update`(更新软件列表)和 `upgrade`(升级软件)。此外,`autoclean` 和 `clean` 可清理无用的包文件以释放空间。掌握 `apt-get` 的使用方法,是 Linux 系统管理的基础技能之一。
752 3
|
计算机视觉
YOLOv5改进 | 2023 | DWRSeg扩张式残差助力小目标检测 (附修改后的C2f+Bottleneck)
YOLOv5改进 | 2023 | DWRSeg扩张式残差助力小目标检测 (附修改后的C2f+Bottleneck)
787 1