第2-3-1章 文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss( 二 )


4. 技术设计本系统的文件存储服务以品达通用权限系统为脚手架,在此基础之上进行开发 。为了能够提供统一的上传接口从而屏蔽底层的存储方案,需要进行相应的接口设计:

第2-3-1章 文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss

文章插图
FileStrategy:文件策略顶层接口
AbstractFileStrategy:抽象文件策略处理类,实现FileStrategy接口 。实现主要的文件上传处理流程,但是真正上传的过程需要其子类来完成 。
LocalServiceImpl:具体的文件策略处理类,是AbstractFileStrategy的子类,负责将上传的文件保存在本地磁盘 。
FastDfsServiceImpl:具体的文件策略处理类,是AbstractFileStrategy的子类,负责将上传的文件保存到FastDFS上 。
AliServiceImpl:具体的文件策略处理类,是AbstractFileStrategy的子类,负责将上传的文件保存到阿里云OSS上 。
MinioServiceImpl:具体的文件策略处理类,是AbstractFileStrategy的子类,负责将上传的文件保存到Minio上 。
注意:本系统目前提供的存储策略有以上四种方式(即本地存储、FastDFS存储、Minio存储、阿里云OSS存储),后期也可以根据需要扩展其他的存储策略 。这种设计方式其实就是策略模式的一个具体应用 。
全套代码及资料全部完整提供,点此处下载

经验总结扩展阅读