.NET Core實戰項目之CMS 第八章 設計篇-內容管理極簡設計全過程

寫在前面

上一篇文章中我帶着大家進行了權限部分的極簡設計,也僅僅是一個基本的權限設計。不過你完全可以基於這套權限系統設計你的更復雜的權限系統,當然更復雜的權限系統要根據你的業務來進行,因爲任何脫離實際業務的權限設計都是耍流氓!今天這篇文章我們就對CMS系統的內容進行設計。同時下篇文章準備帶着大家理解一下架構設計。

需求分析

由於目前的需求是這個CMS系統要滿足一個博客系統的功能。當然一個博客系統首先要有權限系統,這個我們上篇文章裏面的權限設計已經能夠滿足功能了。可光有權限系統還不夠,還要有新建文章,發佈文章,文章分類的功能。複雜點的還要有文章評論子系統,留言子系統,友情鏈接子系統,甚至還包含SEO優化的部分,再複雜點就像博客園一樣,還包含會員子系統,會員也可以發佈文章等等。但是你以爲我會把這些都設計進來嗎?騷年,你想多了!我們還是慢慢迭代吧,這裏先進行博客內容以及博客分類的設計吧!至於其他的功能以後再慢慢迭代吧!同時這個項目我會一直開源在GitHub上,持續的更新,這些功能後期都會有的。 綜上,我們的需求很明確:文章管理,以及文章分類管理!文章要求記錄閱讀量。就這麼簡單,驚不驚喜?意不意外?哈哈!要不怎麼說極簡呢?

邏輯模型設計

這次設計的比較順暢,沒有一點點停頓,可以說一步到位,爲什麼??因爲實在是極簡啊!不信?我就直接上圖了!都不用備註,你就能看懂!當然,設計的PDM文章我今天就會放到GitHub上。地址,在文章最後給出。

是不是很簡單,就兩張表,可這兩張表包含的內容可不少。下面我們就來說道說道

表詳細說明

分類表

分類表,顧名思義就是文章的分類,這裏分類中有個父分類ID可以進行循環嵌套,這樣就可以讓分類具有子分類的功能,理論上支持無限嵌套,但是傻瓜纔會真的嵌套那麼多次吧! 另外分類中加入了SEO相關的標題,關鍵字,以及描述!什麼SEO有什麼用?自己百度去。 表中具體的字段我就不一一列舉出來了!因爲我會把PDM放到GitHub上面,你完全可以使用PowerDesigner打開看一下。

文章表

文章表就是我們的主表了!一切都是爲它服務!因爲權限系統作爲支撐系統,分類作爲文章的輔助,而主角肯定是文章表本身了!前臺頁面展示也都是展示文章的內容。 這裏文章我們有瀏覽量,有了瀏覽量我們就知道了我們的文章的受歡迎程度。 同時,文章表也加入了諸如,是否輪播圖播放,是否置頂,是否熱門等等字段,好處是我們可以豐富我們的頁面功能,通過這些屬性來自定義每個部分顯示的文章內容!當然你也可以通過分類進行設置,這個你自由發揮! 既然是博客系統,文章的SEO功能肯定是不能少的,作爲我們的主角,肯定也得有SEO標題,關鍵字,內容字段,讓我們可以自定義這些內容,這裏有人或許會問了,萬一我沒寫這些字段怎麼辦呢?當然給默認值了,這裏思考下我會怎麼給默認值吧! 如果我們看到了比較好的文章,想要轉載怎麼辦呢?這裏當然要給你留個來源跟作者的字段了。不然,你不留來源跟作者的話,當心別人會告你侵權哦! 廢話有點多,pdm文件我會放到GitHub上,自己去看吧!註釋寫的又那麼全,內容又那麼少,理解起來又那麼容易,你要再不想看的話,我也沒辦法了!

GitHub地址

這裏我會把權限設計以及內容管理設計的邏輯視圖上傳到GayHub上,這裏給出地址。覺得不錯的,可以給個Star!後續我們也會在這個GayHub倉庫進行開發的!

GitHub:https://github.com/yilezhu/Czar.Cms 碼雲:https://gitee.com/yilezhu/Czar.Cms

總結

不善於作總結的程序員不是一個好作者!本篇文章帶着大家設計了一下我們將要實戰的CMS系統的內容管理模塊,也是最核心的模塊!但,我們卻進行了簡單的不能再簡單的設計!因爲如果進行太詳細的設計的話,會嚴重影響更新的進度,目前已經有很多小夥伴崔更了!!!上篇文章的權限設計以及本篇文章的內容設計的邏輯視圖的PDM文件我也已經上傳到GayHub上了,有興趣的朋友可以下載查看! 下篇文章我們就一起聊聊架構設計!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章