NET使用ABP框架搭建博客項目(一)
有不少學NET開發的小夥伴建項目都比較茫然,我用什麼開發?我都使用什麼框架?我怎麼起名字?種種問題,讓一些低等、中等的工程師(甚至是高級工程師)很煩躁。
推薦一款土耳其大牛寫的框架ASP.NET Boilerplate 簡稱 ABP,它適用於中小型項目(中小型表明了95%的項目,除非你的項目有幾千萬硬性的用戶需求,或是幾百萬的併發)。 tkb至簡 有對abp的簡單介紹(也只是英文版翻譯過來的),這裏我簡單介紹下abp。abp是一款DDD模式的框架,它具有分層以及模塊化的結構,框架自己含有受權,驗證,異常處理,日誌,本地化,數據庫鏈接管理,設置管理,審計日誌等,ABP是一個開源的且文檔友好的應用框架,起始的想法是,「開發一款爲全部公司和開發者通用的框架!」。它不單單是一個框架,更提供了一個基於DDD和最佳實踐的健壯的體系模型。html
好了進入正題,打開官網http://www.aspnetboilerplate.com/ web
第一步,選擇 Multi Page Web Application,咱們簡單的來單頁面開發模式(經常使用的view開發)
第二部,選擇數據映射實體框架(EF,微軟的嘛)
第三部,去掉勾選的Include Module Zero (我不喜歡他設計的用戶模塊,不適合中國人,因此我要本身開發)
第四部,輸入你的項目名稱,我用Blog_Solution
填好了之後,等待項目下載成功。數據庫
打開項目第一件事是還原Nuget包(我我的有強迫症,更新了舊版的nuget包內容)。還原好了之後咱們從新生成下項目 微信
而後咱們從新審視下項目
我在這裏解釋下這5個項目:
Blog_Solution.Application 引用層,用來實現業務邏輯、數據轉換的項目;
Blog_Solution.Core核心層,我通常把實體寫到這裏面,包含一些輔助工具和其餘相關的內容;
Blog_Solution.EntityFramework數據層,鏈接數據庫的項目包含遷移、更新等;
Blog_Solution.Web表示層,通常我把他當作個人管理後臺來處理,主要應用對象爲運營人員
Blog_Solution.WebApi接口,假設我須要作多平臺的項目,用來作數據對接,例如web、App、微信等併發
咱們須要刪除一些東西,例如本地化多餘的資源,通常項目咱們只用到兩種語言(中文、英文)好咱們刪除其餘的相關語言包Blog_Solution.Web/Localization/Blog_Solution只留下Blog_Solution-zh-CN.XML和Blog_Solution.XML,而且打開App_Start裏面的Blog_SolutionWebModule類,前置啓動方法中刪除日本語和土耳其語而且把中文設置爲默認語言框架
Configuration.Localization.Languages.Add(new LanguageInfo("en", "English", "famfamfam-flag-england")); Configuration.Localization.Languages.Add(new LanguageInfo("zh-CN", "簡體中文", "famfamfam-flag-cn",true));
而後把web設置爲啓動項運行起來,咱們就會發現語言包只剩下兩個了,而且中文爲默認語言以下圖: 模塊化