本文主要是介绍多层次封装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
平台的核心资源是各类组件、插件,在设计上,采用多层次封装,满足不同情况下的需求。以对象存储为例,平台可以对接多种对象存储平台,如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 "";
}
可以调用统一接口以获得适用性,也可以直接使用对应接口。
这篇关于多层次封装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!