这是一个提供 CacheStorage
协议的小型库。
有关详细信息,请参阅 Scipio 文档。
Scipio
使用 swift-package-manager 作为依赖项,但它不遵循 semver。 因此,维护每个缓存存储插件很麻烦。 当 Scipio
版本更新时,必须更新每个插件。
我将向您展示包的结构。
classDiagram
object SwiftPM
object ScipioKit
object ScipioS3Storage
object executor
SwiftPM <|-- ScipioKit
ScipioKit <|-- ScipioS3Storage
ScipioKit <|-- executor
ScipioS3Storage <|.. executor
在这种结构中,SwiftPM 无法解析 swift-package-manager
的版本,因此所有包都必须指定相同的版本。 维护这些包毫无用处。 此外,很难制作其他存储插件。
classDiagram
object SwiftPM
object ScipioCacheStorage
object ScipioKit
object ScipioS3Storage
object ScipioAzureStorage
object ScipioFileServerStorage
object executor
SwiftPM <|-- ScipioKit
ScipioCacheStorage <|-- ScipioKit
ScipioCacheStorage <|-- ScipioS3Storage
ScipioCacheStorage <|-- ScipioAzureStorage
ScipioCacheStorage <|-- ScipioFileServerStorage
ScipioKit <|-- executor
ScipioS3Storage <|.. executor
ScipioAzureStorage <|.. executor
ScipioFileServerStorage <|.. executor
ScipioCacheStorage
帮助我们维护版本控制。 它可以减少版本管理的精力。
除了 ScipioKit
之外的包不依赖于 SwiftPM
,因此它可以遵循标准 semver。
如果你想制作其他存储插件,你可以很容易地制作它。 你只需要实现 CacheStorage
协议。