现在用 golang 写了些的数据处理程序,往往都是读一个数据库,然后写到另外一个数据库。 中间可能访问下 redis。
这样在 main 函数的开始和结束的时候,都要处理一遍这些事情。 另外,使用的时候还需要通过参数传递,比较麻烦。
为了解决这些重复的工作,就将数据库、redis 相关的设置成全局变量。
mysql、redis 使用一致的接口,通过配置初始化。比如:
def initMysql(name string)
def getMysql(name string) *sql.conn
def unInitMysql(name string)
// 使用
initMysql("src")
initMysql("dest")
// do foo
unInitMysql("dest")
unInitMysql("src")
但是,这样存在一个问题。程序内部使用 mysql 和 redis 可能会调整。如果可以像 spring 一样自动注入的方式(之前用过一段时间的 spring,说到底是被 spring 灌的) 就更方便了。
向大家请教两个问题:
1
kkfnui OP 可以用懒加载的方式,解决显式初始化的问题
|
2
dcalsky 2018-01-07 18:11:48 +08:00
单例模式可解。
|
3
orvice 2018-01-08 01:01:22 +08:00
def 是什么鬼
|