Go 开源说第二期:GORM 剖析与最佳实践
写在前面 随着Go在中国越来越多的应用场景,我们中国的Gopher开发的开源项目也越来越多,目前在github上面有大量的Go写的开源项目,但是很多时候一个好的项目让别人获知,同时让大家了解背后的设计设计原理,其实是很困难的一件事情。 基于这样的背景,我们GoCN社区推出这个《Go 开源说》,每两周会播出一期。希望通过这样的平台帮助到我们开源的作者,有一个平台去推广我们的开源项目,第二说说背后的设计原理和理念,产品优越性等。第三让我们用户可以了解到更多好玩有用的项目,避免自己造轮子重复发明,当然也希望通过这些分享让大家学习到每一个开源项目背后的设计理念,拥抱开源,做出自己的产品。 —— Asta 本期开源先锋 张金柱 https://github.com/jinzhu 就职于字节跳动基础架构语言团队 目前从事字节跳动的性能分析、优化及 GORM 开发相关工作 关于 GORM https://github.com/go-gorm/gorm 设计简洁、功能强大、自由扩展的全功能 ORM 设计原则 API 精简、测试优先、最小惊讶、灵活扩展、无依赖 可信赖 功能完善 关联:一对一、一对多、单表自关联、多态关联;Preload、Joins 预加载;关联模式 事务:嵌套事务, Save Point Hooks、Callbacks 自由扩展 多数据库、读写分离、Prometheus