ZVVQ代理分享网

golang框架中依赖注入的替代方案(golang引用类型

作者:zvvq博客网
导读Go 框架中依赖注入的替代方案 在 Go 框架中,依赖注入 (DI) 是提供依赖的一种常见方法。但是,DI 可能会引入复杂性和额外代码。对于小型到中型的项目,DI 可能不必要。 以下是一些

Go 框架中依赖注入的替代方案

在 Go 框架中,依赖注入 (DI) 是提供依靠的一种常见方式。可是,DI 可能引进复杂性和附加编码。对于小型到中型的项目,DI 可能多余。

以下是一些DI 的替代方案:

构造函数引入:直接从对象构造函数中传递依赖项,如同下列实例所示:1

typeServicestruct{

dbsql.DB

}

funcNewService(dbsql.DB)Service{

return&Service{db}

}

部分作用域变量:在函数内申明并复位依赖项,如同下列实例所示:1

funcHandleRequest(whttp.ResponseWriter,rhttp.Request){

db:=connectToDatabase()

service:=NewService(db)

service.HandleRequest(w,r)

}

单例模式:为依赖项创建一个单例,并在需要时浏览它,如同下列实例所示: