gfast 后端開發(fā)-項目結(jié)構(gòu)

2022-04-02 12:00 更新
/
├── app   
│   ├── common
│   │    ├── adapter
│   │    ├── api
│   │    ├── dao
│   │    ├── service
│   │    ├── model
│   │    ├── ...
│   ├── system
│   │    ├── api
│   │    ├── dao
│   │    ├── service
│   │    ├── model
│   │    ├── router
│   │    ├── ...
│   └── other
├── boot
├── config
├── docker
├── document
├── i18n
├── library
├── packed
├── public
├── plugins
├── router
├── template
├── vendor
├── Dockerfile
├── go.mod
└── main.go
目錄/文件名稱 說明 描述
?app? 業(yè)務(wù)邏輯層 所有的業(yè)務(wù)邏輯存放目錄
?- api? 業(yè)務(wù)接口 接收/解析用戶輸入?yún)?shù)的入口/接口層
?- model? 數(shù)據(jù)模型 數(shù)據(jù)管理層,僅用于操作管理數(shù)據(jù),如數(shù)據(jù)庫操作
?- service? 邏輯封裝 業(yè)務(wù)邏輯封裝層,實現(xiàn)特定的業(yè)務(wù)需求,可供不同的包調(diào)用
?boot? 初始化包 用于項目初始化參數(shù)設(shè)置,往往作為main.go中第一個被import的包
?config? 配置管理 所有的配置文件存放目錄
?docker? 鏡像文件 Docker鏡像相關(guān)依賴文件,腳本文件等等
?document? 項目文檔 Documentation項目文檔,如:設(shè)計文檔、幫助文檔等等
?i18n? I18N國際化 I18N國際化配置文件目錄
?library? 公共庫包 公共的功能封裝包,往往不包含業(yè)務(wù)需求實現(xiàn)
?packed? 打包目錄 將資源文件打包的Go文件存放在這里,boot包初始化時會自動調(diào)用
?public? 靜態(tài)目錄 僅有該目錄下的文件才能對外提供靜態(tài)服務(wù)訪問
?plugins? 擴(kuò)展目錄 提供一些擴(kuò)展功能
?router? 路由注冊 用于路由統(tǒng)一的注冊管理
?template? 模板文件 MVC模板文件存放的目錄
?vendor? 第三方包 第三方依賴包存放目錄(可選,未來會被淘汰)
?Dockerfile? 鏡像描述 云原生時代用于編譯生成Docker鏡像的描述文件
?go.mod? 依賴管理 使用Go Module包管理的依賴描述文件
?main.go? 入口文件 程序入口文件

在實踐中,小伙伴們可以根據(jù)實際情況增刪目錄。

注意:如果需要提供靜態(tài)服務(wù),那么所有靜態(tài)文件都需要存放到public目錄下,僅有該目錄下的靜態(tài)文件才能被外部直接訪問。不推薦將程序當(dāng)前運行目錄加入到靜態(tài)服務(wù)中。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號