這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
go web項目目錄規劃
因為 gorose orm 和 dotweb 架構 都是基於獨立的組件, 所以我們可以對項目的目錄做出自由的規劃.
在這裡, 我們便規劃一個遵循一般的mvc結構的項目目錄.
為了項目的易維護性和高可用性, 我們盡量採取成熟的架構, 分離業務模組, 這裡就借鑒 php 界最火爆的架構拉 laravel 的設計思想, 做出簡單的涉設計架構
目錄大致如下:
一. 路由: /router/
放置所有路由, 這裡會用到dotweb的路由群組件, 所有請求的入口都會經過這裡
二. 控制器: /controller/
放置所有控制器, 這裡就是基本的商務邏輯處理曾
三. 資料操作: /model/
放置所有model, 這裡就是gorose orm的主戰場, 所有的資料庫操作都在這裡完成
四. 前端頁面: /view/
放置所有頁面, 這裡主要寫前端的html+js+css
五. 中介軟體: /middleware/
放置所有中介軟體, 這裡可以放置各種狂拽酷炫吊炸天的組件
六. 入口目錄: /bootstrap/
系統中用到的組件, 統一在這裡驅動, 便於維護管理, 本項目主要包含gorose和dotweb在這裡驅動
七. 配置目錄: /config/
必須是放置所有的設定檔在這裡
八. 日誌目錄: /log/
這個沒什麼說的
成型目錄結構
kuaixinwen bootstrap bootDatabase.go bootRouter.go config database.go middleware Auth.go controller news.go model News.go router route.go view home.html admin.html main.go
以上各個組件, 除了model模組採用gorose的orm組件之外, 路由和部分中介軟體模組均由dotweb中對應的組件來完成, 這裡就更能提現出組件化架構dotweb的強大之處了
view 目錄下的頁面後期擴充後會用
vue 來寫 暫時用於快速構建簡單web網站,就只用
home.html 和
admin.html 做個樣本
本項目源碼: https://github.com/gohouse/kuaixinwen