中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

傳媒公司做網(wǎng)站條件百度關(guān)鍵詞推廣方案

傳媒公司做網(wǎng)站條件,百度關(guān)鍵詞推廣方案,騰訊網(wǎng),武漢手機(jī)網(wǎng)站建設(shè)價(jià)位該文章為學(xué)習(xí)開源微服務(wù)框架kratos的學(xué)習(xí)筆記!官方文檔見:簡介 | Kratos Kratos 一套輕量級 Go 微服務(wù)框架,包含大量微服務(wù)相關(guān)框架及工具。 一、Kratos 項(xiàng)目結(jié)構(gòu)簡介 通過 Kratos 工具生成的 Go工程化項(xiàng)目模板如下: applicati…

該文章為學(xué)習(xí)開源微服務(wù)框架kratos的學(xué)習(xí)筆記!官方文檔見:簡介 | Kratos

Kratos 一套輕量級 Go 微服務(wù)框架,包含大量微服務(wù)相關(guān)框架及工具。

一、Kratos 項(xiàng)目結(jié)構(gòu)簡介

通過 Kratos 工具生成的?Go工程化項(xiàng)目模板如下:

application
|____api
| |____helloworld
| | |____v1
| | |____errors
|____cmd
| |____helloworld
|____configs
|____internal
| |____conf
| |____data
| |____biz
| |____service
| |____server
|____test
|____pkg
|____go.mod
|____go.sum
|____LICENSE
|____README.md

二、kratos 依賴注入關(guān)系圖

?其中有關(guān)依賴注入的詳細(xì)文檔見:Go工程化 - 依賴注入 | Kratos

以下是我自己總結(jié)的kratos依賴注入關(guān)系圖:

特別注意:data層的 NewXxxRepo 返回的是 biz 層定義的實(shí)體數(shù)倉的接口類型!!!

這樣做的目的:正常情況是 data 層定義好數(shù)據(jù)操作函數(shù)后被 biz 層調(diào)用,但這里是 biz 層定義好操作數(shù)據(jù)層的接口,然后讓 data 層去實(shí)現(xiàn),從而實(shí)現(xiàn) data 層對 biz 層的反向依賴。這樣做的好處是方便 data 層重構(gòu)(比如數(shù)據(jù)存儲由 mysql 改為 sqlServer 等),而不需要修改任何 biz 層的代碼。

//下面代碼位于 data/article.go
// 注意返回參數(shù)為 biz 層的接口,ArticleRepo 需要實(shí)現(xiàn) biz.ArticleRepo 接口
func NewArticleRepo(data *Data, logger log.Logger) biz.ArticleRepo {return &articleRepo{data: data,log:  log.NewHelper(logger),}
}// 下面代碼位于 biz/article.go
// 在 biz 層定義好數(shù)據(jù)操作層(data層)的接口,以便讓 data 層實(shí)現(xiàn),不管 data 層今后如何實(shí)現(xiàn)或重構(gòu),都不影響 biz 層的業(yè)務(wù)代碼
type ArticleRepo interface {// dbListArticle(ctx context.Context) ([]*Article, error)GetArticle(ctx context.Context, id int64) (*Article, error)CreateArticle(ctx context.Context, article *Article) errorUpdateArticle(ctx context.Context, id int64, article *Article) errorDeleteArticle(ctx context.Context, id int64) error
}

三、依賴注入生成的代碼實(shí)例

運(yùn)用 google/wire 工具將上述依賴注入生成具體的kratos項(xiàng)目代碼示例:

原始 wire.go 代碼:

// initApp init kratos application.
func initApp(*conf.Server, *conf.Data, *conf.Auth, log.Logger) (*kratos.App, func(), error) {panic(wire.Build(server.ProviderSet, data.ProviderSet, biz.ProviderSet, service.ProviderSet, newApp))
}

?工具生成的代碼wire_gen.go:

// initApp init kratos application.
func initApp(confServer *conf.Server, confData *conf.Data, auth *conf.Auth, logger log.Logger) (*kratos.App, func(), error) {dataData, cleanup, err := data.NewData(confData, logger)if err != nil {return nil, nil, err}articleRepo := data.NewArticleRepo(dataData, logger)articleUsecase := biz.NewArticleUsecase(articleRepo, logger)blogService := service.NewBlogService(articleUsecase, logger)userRepo := data.NewUserRepo(dataData, logger)encryptService := biz.NewEncryptService(auth)accountUseCase := biz.NewAccountUseCase(logger, auth, userRepo, encryptService)accountService := service.NewAccountService(logger, accountUseCase)httpServer := server.NewHTTPServer(confServer, logger, blogService, accountService)grpcServer := server.NewGRPCServer(confServer, logger, blogService, accountService)app := newApp(logger, httpServer, grpcServer)return app, func() {cleanup()}, nil
}

http://www.risenshineclean.com/news/22153.html

相關(guān)文章:

  • 機(jī)械行業(yè)營銷型網(wǎng)站成都搜狗seo
  • 自己做銷售獨(dú)立網(wǎng)站網(wǎng)站運(yùn)營及推廣方案
  • dw不用代碼做網(wǎng)站網(wǎng)絡(luò)營銷的推廣方法
  • 西安優(yōu)秀的集團(tuán)門戶網(wǎng)站建設(shè)服務(wù)商長沙網(wǎng)站推廣
  • 石家莊網(wǎng)站建設(shè)求職簡歷怎么申請網(wǎng)站空間
  • 甘孜商城網(wǎng)站建設(shè)seo實(shí)戰(zhàn)培訓(xùn)機(jī)構(gòu)
  • 沒有外貿(mào)網(wǎng)站 如果做外貿(mào)專業(yè)網(wǎng)絡(luò)推廣
  • 網(wǎng)站子頁面如何做seo經(jīng)典模板網(wǎng)站建設(shè)
  • 網(wǎng)站如何做才能被360收錄營銷推廣軟件
  • 個(gè)人企業(yè)網(wǎng)站怎么建設(shè)seo外鏈資源
  • 網(wǎng)站續(xù)費(fèi)收多少合適營銷手段有哪些
  • 扁平化企業(yè)網(wǎng)站模板賬號權(quán)重查詢?nèi)肟谡鹃L工具
  • 網(wǎng)站信息向上滾動標(biāo)簽網(wǎng)頁設(shè)計(jì)與制作代碼成品
  • 寶盈集團(tuán)直營網(wǎng)站怎么做什么是網(wǎng)絡(luò)營銷平臺
  • 我的網(wǎng)站為什么打不開喬拓云建站平臺
  • 制作網(wǎng)站賺錢嗎足球比賽統(tǒng)計(jì)數(shù)據(jù)
  • 好看的網(wǎng)站設(shè)計(jì)網(wǎng)站seo怎么優(yōu)化關(guān)鍵詞排名培訓(xùn)
  • 做外貿(mào)自己的公司網(wǎng)站成品app直播源碼有什么用
  • spring boot 網(wǎng)站開發(fā)網(wǎng)站編輯
  • 知道域名怎么進(jìn)入網(wǎng)站北京網(wǎng)站建設(shè)公司報(bào)價(jià)
  • 圣輝友聯(lián)劉金鵬做網(wǎng)站鄭州網(wǎng)站關(guān)鍵詞優(yōu)化公司哪家好
  • 供應(yīng)長沙手機(jī)網(wǎng)站建設(shè)天津關(guān)鍵詞排名推廣
  • wordpress 修改登錄地址seo的定義是什么
  • 企業(yè)網(wǎng)站模板下載需謹(jǐn)慎百度信息流投放在哪些平臺
  • 上傳自己做的網(wǎng)站后臺怎么辦常見的網(wǎng)絡(luò)營銷方式有哪些
  • 網(wǎng)站重新制作多久google重新收錄網(wǎng)絡(luò)營銷策略有哪幾種
  • redis做緩存的網(wǎng)站并發(fā)數(shù)百度推廣關(guān)鍵詞價(jià)格查詢
  • 手機(jī)網(wǎng)站 文件上傳百度熱榜排行
  • 重慶做網(wǎng)站推廣電商網(wǎng)站排名
  • 網(wǎng)站反鏈騰訊廣告