在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/GO/ go 語(yǔ)言中是否有類似 DTO (data transfer object) 功

go 語(yǔ)言中是否有類似 DTO (data transfer object) 功能的庫(kù)

使用 go 來(lái)做 web 開發(fā)時(shí),orm 可以在業(yè)務(wù)對(duì)象和數(shù)據(jù)庫(kù)之間建立映射,但是沒有找到類似 java 中 dto 類似功能的庫(kù),能夠在表現(xiàn)層和業(yè)務(wù)對(duì)象之間做一層隔離。

例如我想查詢所有的 candidate 并且以 json 的形式返回給前端,那么我必須這么做:

type Candidate struct {
    Address     string      `bson:"address" json:"address"` // owner
    PubKey      string      `bson:"pub_key" json:"pub_key"`
    Shares      int64       `bson:"shares" json:"shares"`
    VotingPower uint64      `bson:"voting_power" json:"voting_power"` // Voting power if pubKey is a considered a validator
    Description Description `bson:"description" json:"description"`  // Description terms for the candidate
}

但是,這樣子做就是將UI對(duì)象和業(yè)務(wù)對(duì)象耦合在了一起,在設(shè)計(jì)和開發(fā)上都有些不合理。所以,就想請(qǐng)問(wèn) go 語(yǔ)言中是否有類似 dto 的庫(kù)來(lái)做一層分離?

回答
編輯回答
朽鹿

這個(gè)隔離的話,自己在業(yè)務(wù)層加一個(gè)轉(zhuǎn)換不就行了么?也不復(fù)雜

2017年6月26日 03:56