早上衣明志 在QQ群里說他的博客開源了,地址在 https://github.com/qihangnet/MZBlog,基于NancyFX和MongoDB開發的。博客內容需要使用 MarkDown 進行編寫。Nancy框架是asp.net之外用.NET開發Web App的一種選擇,而且也是一種很簡單的選擇。所以本文本著學習Nancy 框架的分析了下衣大哥的代碼,下圖是個腦圖:
1、MongoDB:數據存儲采用NoSQL MongoDB,采用官方的驅動 mongocsharpdriver。
2、核心庫的測試項目MZBlog.Core.Tests:項目采用xUnit.NET測試框架,xUnit.net創造者是Jim Newkirk和Brad Wilson從包括NUnit及其它單元測試框架的使用經驗中總結出來的一個新框架,相比于NUnit,xUnit.net和其他框架的比較可參考《xuint和其他的單元測試框架的比較》。另外FluentAssertions,非常棒的測試斷言。非常符合人的思維模式。
3、項目分層:項目采用DDD(領域模型)的典型層次,包括了表現層,應用層,領域層和基礎設施層,MZBlog.Core其實對應著基礎設施層,不過這里的并不是指領域模型中的基礎設施,更恰當的說應該是一些普通項目的核心層,封裝一些常用的工具和服務,例如緩存、MongoDB操作。
MZBlog.Core的Documents、ViewPRojections、Commands 對應的是MongoDB的領域層,領域層進行細分,會出現一些專門對應的一些領域核心層,領域核心實體擴展層。
MZBlog.Web是應用層和表現層,同時也是對Nancy框架的一個應用的示例。
4、Nancy框架:Nancy是一個不錯的輕量級開源.NET Web框架,他是asp.net框架之外的另一個web開發框架,他完全不依賴于System.Web.只為簡單的Web開發做最基礎的準備,以Nancy寫的Web應用,可以輕松部署在linux上,而不必受服務器操作系統的限制,衣明志的博客 就是在Linux上跑的,Web服務器使用的Jexus。
applicationStartup
Security: Nancy的身份驗證組件——Nancy.Authentication.Forms,你可以到nuget上獲得。由于Nancy的運行機制跟ASP.NET幾乎沒有關聯,到可以移步到Forms authentication with nancyfx看看它是怎么實現的。
5、Bootstrap是Twitter出名的一個優秀的web前端框架,它讓不太懂設計的web程序員們也能做出比較好看的UI來。Bootstrap3默認采用時下流行的扁平化設計,會讓你的web顯得很時尚.
6、Markdown 是一種輕量級標記語言,創始人為約翰·格魯伯(John Gruber)和亞倫·斯沃茨(Aaron Swartz)。它允許人們“使用易讀易寫的純文本格式編寫文檔,然后轉換成有效的XHTML(或者HTML)文檔”。這種語言吸收了很多在電子郵件中已有的純文本標記的特性。Markdown 語法可參考 http://wowUbuntu.com/markdown/
xUnit.net runner for Visual Studio 2012 and 2013
Lift your Petticoats with Nancy....
Setting up a NancyFX website
From ASP.NET MVC to Nancy - Part 1
擴展NoteService,支持NancyFx
新聞熱點
疑難解答