0
点赞
收藏
分享

微信扫一扫

多层次封装

慕犹清 2024-02-04 阅读 23

平台的核心资源是各类组件、插件,在设计上,采用多层次封装,满足不同情况下的需求。以对象存储为例,平台可以对接多种对象存储平台,如MinIO,华为OSS等。在平台上可以调用统一的oss接口,通过配置对接不同对象存储平台:

public static InputStream getObject(String bucketName,String objectName) throws Exception {
    if ("minio".equals(QLMContants.OSSSource)){
       return MinioUtils.getObject(bucketName,objectName);
    }
    else if ("huawei".equals(QLMContants.OSSSource)){
         return HuaweiOBSUtils.getObject(bucketName,objectName);
    }
    else{
        return null;
    }
}

开发产品时多采用这种方式,它可以一套代码适用于不同存储平台。

对于一个具体的项目,由于存储平台已经确定,也可以直接调用对应函数,如上述的MinioUtils.getObject(bucketName,objectName);

     缓存处理也采用类似机制:

public String get(String key){
    if ("Redis".equals(QLMContants.cacheMode)){
        return redisutils.get(key);
    }
    else if ("Caffeine".equals(QLMContants.cacheMode)){
        return (String)CaffeineUtils.get(key);
    }
    return "";
}

可以调用统一接口以获得适用性,也可以直接使用对应接口。

举报

相关推荐

0 条评论