database/sql设计哲学非常优雅,但是内部实现又非常复制,本节从顶层来去分析下database/sql的实现思想
隔离具体的数据库
各个具体的数据库驱动实现该套接口即可被使用
在内部实现一个连接池
内部通过锁实现并发访问的安全性
使应用程序调用者和驱动的实现者看到的接口视角的一致性
对上层应用提供一个标准的API
隔离具体的数据库
各个具体的数据库驱动实现该套接口即可被使用
应用层调用逻辑不依赖具体的数据库,其使用的是sql提供的标准API
在内部实现一个连接池
内部通过锁实现并发访问的安全性
内部实现数据类型的自动转换
使应用程序调用者和驱动的实现者看到的接口视角的一致性
则也算一种编程哲学:增强功能但是调用接口不变,一般的理