iT邦幫忙

0

golang 語言在使用 Gin 框架的情形下的依賴注入

如主題
目前正在研究這個注入框架
https://godoc.org/github.com/facebookgo/inject

我這邊注入方式是直接注入 router(自定義)
https://ithelp.ithome.com.tw/upload/images/20200714/20128028sljCbQYjCK.png

目前遇到注入的 controller 裡面的 User 一直都是屬於單例模試
https://ithelp.ithome.com.tw/upload/images/20200714/20128028XiMZdjZMTy.png

每次請求USER的Mobile都會互相影響(a不停的增加)
https://ithelp.ithome.com.tw/upload/images/20200714/20128028BuRPpA6Kqv.png

有辦法讓他能每次請求都建立不同的 User struct 嗎?
還是大家使用 golang 的時候都不流行依賴注入的?

froce iT邦大師 1 級 ‧ 2020-07-14 21:17:59 檢舉
https://github.com/Bingjian-Zhu/gin-inject
研究一下別人怎麼用吧。
我也還在看。
goinc1937 iT邦新手 5 級 ‧ 2020-07-15 10:30:06 檢舉
這個一樣會是單例模式 寫法跟我一樣
fnsne iT邦新手 5 級 ‧ 2020-08-12 12:44:35 檢舉
稍微看了下inject的package,感覺上好像是AOP的注入框架。

不過,通常來說,資料struct 不會使用注入吧?

假如是要有不同實作內容的資料struct(如使用不同的資料庫),那注入的東西,應該是controller而不是資料struct才對。
至於如何保持業務邏輯不變,可以利用decorator之類的方式。

尚未有邦友回答

立即登入回答