W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
做任何事情都需要做好規(guī)劃,那么我們?cè)陂_發(fā)博客系統(tǒng)之前,同樣需要做好項(xiàng)目的規(guī)劃,如何設(shè)置目錄結(jié)構(gòu),如何理解整個(gè)項(xiàng)目的流程圖,當(dāng)我們理解了應(yīng)用的執(zhí)行過程,那么接下來的設(shè)計(jì)編碼就會(huì)變得相對(duì)容易了
假設(shè)指定gopath是文件系統(tǒng)的普通目錄名,當(dāng)然我們可以隨便設(shè)置一個(gè)目錄名,然后將其路徑存入GOPATH。前面介紹過GOPATH可以是多個(gè)目錄:在window系統(tǒng)設(shè)置環(huán)境變量;在linux/MacOS系統(tǒng)只要輸入終端命令export gopath=/home/astaxie/gopath
,但是必須保證gopath這個(gè)代碼目錄下面有三個(gè)目錄pkg、bin、src。新建項(xiàng)目的源碼放在src目錄下面,現(xiàn)在暫定我們的博客目錄叫做beeblog,下面是在window下的環(huán)境變量和目錄結(jié)構(gòu)的截圖:
博客系統(tǒng)是基于模型-視圖-控制器這一設(shè)計(jì)模式的。MVC是一種將應(yīng)用程序的邏輯層和表現(xiàn)層進(jìn)行分離的結(jié)構(gòu)方式。在實(shí)踐中,由于表現(xiàn)層從Go中分離了出來,所以它允許你的網(wǎng)頁中只包含很少的腳本。
下圖顯示了項(xiàng)目設(shè)計(jì)中框架的數(shù)據(jù)流是如何貫穿整個(gè)系統(tǒng):
根據(jù)上面的應(yīng)用程序流程設(shè)計(jì),博客的目錄結(jié)構(gòu)設(shè)計(jì)如下:
|——main.go 入口文件
|——conf 配置文件和處理模塊
|——controllers 控制器入口
|——models 數(shù)據(jù)庫處理模塊
|——utils 輔助函數(shù)庫
|——static 靜態(tài)文件目錄
|——views 視圖庫
為了實(shí)現(xiàn)博客的快速搭建,打算基于上面的流程設(shè)計(jì)開發(fā)一個(gè)最小化的框架,框架包括路由功能、支持REST的控制器、自動(dòng)化的模板渲染,日志系統(tǒng)、配置管理等。
本小節(jié)介紹了博客系統(tǒng)從設(shè)置GOPATH到目錄建立這樣的基礎(chǔ)信息,也簡(jiǎn)單介紹了框架結(jié)構(gòu)采用的MVC模式,博客系統(tǒng)中數(shù)據(jù)流的執(zhí)行流程,最后通過這些流程設(shè)計(jì)了博客系統(tǒng)的目錄結(jié)構(gòu),至此,我們基本完成一個(gè)框架的搭建,接下來的幾個(gè)小節(jié)我們將會(huì)逐個(gè)實(shí)現(xiàn)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: