第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將記錄器正確注入到代碼的數(shù)據(jù)庫層中?

如何將記錄器正確注入到代碼的數(shù)據(jù)庫層中?

Go
繁華開滿天機 2022-09-26 17:20:43
我的主要問題是如何將記錄器注入到附加到模型的函數(shù)中?例如,如果我們有一個用戶模型type User struct { id string `json:"id" bson:"id"` name string `json:"name" bson:"name"`}然后讓我們有一個函數(shù)附加到它func (user *User) Save() { ...}現(xiàn)在我想做的是創(chuàng)建一個結(jié)構(gòu),其中包含記錄器和其他附加信息type UserStruct struct { logger ... dbConn ... ...}現(xiàn)在我的問題是,如果我將其注入控制器,那么他們將可以訪問他們不需要的對象。我找不到一種很好的方法將這些與控制器隔離開來,而只將模型上的函數(shù)注入控制器。
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經(jīng)驗 獲得超4個贊

我建議不要在 Go 中實現(xiàn)活動記錄模式,而是使用持久性層來接收所有這些數(shù)據(jù)對象,例如 。例如:User


type Persistence struct {

    logger logging.Logger

    conn   *mongo.Client

    // ...

}


func NewPersistence(...) (*Persistence, error) {

    // connect to mongo etc

    return &Persistence{...}, nil

}


func (p *Persistence) SaveUser(user *User) error {

    // ...

}


func (p *Persistence) FindUserByName(username string) (*User, error) {

    // ...

}


查看完整回答
反對 回復(fù) 2022-09-26
  • 1 回答
  • 0 關(guān)注
  • 71 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號