#661·redigo

v2 提案

作者: stevenh创建于 2024年2月12日更新于 2024年5月4日
标签Enhancement

问题 红迪哥当前的 API 设计使其难以维护,随着 Golang 中新模式的开发,现在是考虑一个新的主要版本来解决这些挑战的时机,因为无法以向后兼容的方式解决这些问题。 # 解决方案 以下是一些有助于简化红迪哥维护的关键更改。 ## 具体的返回类型 最大的变化可能是删除 Conn 接口,这使得在不使用消费者对额外接口进行类型检查的情况下无法添加新功能。转换为具体类型的返回值,这是广泛建议的,将消除这个问题,从而使新功能的引入变得容易。思路是,拨号方法将返回具体的 Conn 类型,而池取方法将返回 PoolConn 类型。 ## 函数式选项 将池类型上的所有值公开意味着无法更改其内部设计以纳入增强。此外,这还带来了风险,因为消费者可能会认为在构建后修改这些值是可以的,但实际情况并非如此。使用函数式选项将解决这个问题,提高了效率和可扩展性。

内容来源: gomodule/redigo