前言:
起初寫這個框架的時候,可以說在當時來說並不是很流行的設計模式,那是在2012年,面向對象的編程大家都很熟悉, 但是“注入、控制反轉(DI,IOC,依賴注入)、AOP切面編程”新興名詞
很多人並不知道特別是從事.NET開發的人,至少在當時 是這麼樣的,但是在今天它們卻是非常流行的技術指標,很多大牛也承認,這是主流的開發模式,你們可以從招聘網的技術崗位看出。
我從事過MVC2.0到5.0的相關開發工作,見證了MVC的成熟演變過程,就像本框架一樣,設計模式未曾改變,但是代碼一直在重 構。我也堅信這種開發模式目前無法被取代,也是我們Web開發工作的首選
MVCWebAPI適配移動設備接口,MVCWEB業務界面顯示處理,這是多麼的標配。
我爲何選擇這個技術組合?
我當初對技術的選型很是簡單,從簡單的開發方式和學習成本人員考慮,大家都認知的技術方式,可以克服開發過程中團隊人 員的更換(離職,新人)
選擇的技術都是從大流行架構精粹出來,並不使用非常大型的底層框架,培訓學習成本極高,從學習到開發需要一個漫長的過程,這也是老闆們不願意看到的
同時也考慮到應用系統的使用負擔並不是極大
So: Asp.net MVC、EF、IOC容器、EasyUI、分層分模塊、基於接口
MVC:目前適用所有前端應用的部署,包括網站,系統後臺,適配,API接口,沒有像webform,php等一樣的混合型臃腫代碼,關注點分離
EF:微軟件自己的東西,畢竟用起來非常順手,更新很快,支持主流的數據庫,易於擴展和變化,但是缺點我們都知道,大型訪問量的系統並不適合
同時ORM顯然也沒有生的SQL語句來得更加直接,但是易用性和開發速度上毋庸置疑
注入:注入容器我在各大流行的IOC注入容器中選擇了Unity,在當時綜合來看,Unity在像流行的Autofac,Spring.NET等中,屬於中規中矩的穩定型,直到今天
經過多年的版本演變,各大注入框架的性能穩定性,和易用性都差不多,所以無論選擇那一款都好,我們實現的效果都是一樣的,他們的原理也都是一樣的
EasyUI:對於應用系統,我認爲最重要的就是數據表格,處理和顯示覆雜的業務模式是必要的首選,EasyUI的組件應有盡有,我一度想換成Bootstrap,但是對於應用系統
BootStrap其實並不適合,特別是開發速度上和顯示上,雖然更加輕量級,但是你最後會爲交互撓破了你自己的頭,不信你可以試試看。不過發佈於互聯網的界面可以使用
BootStrap,互不衝突,最後我還是看厭了EasyUI的皮膚,自己努力寫了5套Easyui的皮膚,其實並不難。傳送門
分層分模塊:從數據庫到文件的命名他們是有規範的,也是對系統的約定和編碼規範,每一家公司對編碼都有一定的規範,但是大同小一異,比如工作流模塊,Flow在數據庫表中是Flow_
爲前綴,在MVC中的Areas下爲Flow,BLL,DAL以,Flow.BLL,Flow.DAL。這都有利於開發人員的快速設別和T4的統一生成,也利於系統的拆分,同時我們的BLL,DAL也適用於
WinForm,WPF等桌面軟件,或者做爲WebAPI的業務層。
基於接口:規範、約束、分離等,通俗點來說我主要作爲分包,業務代碼隱藏,團隊開發中只要定義好接口,而無需要實用業務,就能發包同時開發進行,非常好
如何閱讀本系列的文章
理論上任何感興趣的園友都可以瞭解和閱讀,但是如果你具備一定的工作經驗那麼看起來事半功倍。
有多年工作經驗基礎的先看60和61節,再看1-10節,再看58,59節。再看10節之後
無經驗的從第一節看起來
其中1-10節:是本系列的入門基礎。基本就確定了從用戶請求到讀取數據庫的全過程,主要講解Easyui是如何讀取後臺數據,通過Json數據的交互方式,速度快無刷新,同樣適用其他前段框架。如Extjs,jqgrid,bootstrap等等。
11,12,13節:是本系統的日誌、異常處理方式,日誌可以記錄用戶的每個動作,異常可以讓開發人員快速得到問題定位。
18-28節:權限是每個應用系統最基本的東西,理論必須擁有。關鍵權限是控制程度,本系列把權限控制到按鈕級別,通過全局過濾器來處理請求
--------------------中間爲選讀章節------------------
58,59節是本系列的重構章節,通過T4模板,封裝了DAL,BLLMODEL'的重複代碼,代碼生成器的'BLL,DAL已經不再需要。大大省掉了很多重複代碼,必須閱讀。就算你的系統並不屬於本系列的範圍,但是58,59也許對你有幫助
後續將帶來一些WebAPI的開放及驗證,讓WebAPI開放給移動端等文章,讓我們知道安卓是如何與我們的API進行通訊及驗證
目錄:(儘管很小心,但是文章難免有很些錯別字和思維錯誤)
第二節: 構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(2)-easyui構建前端頁面框架 ----> 注:初學同學,直接使用MVC5
第三節: 構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(3)-漂亮系統登陸界面
第四節: 構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(4)-構建項目解決方案 創建EF Model Frist模式
第五節: 構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(5)-EF增刪改查by糟糕的代碼
第六節: 構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(6)-Unity 2.x依賴注入by運行時注入[附源碼]
第七節: 構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(7)-MVC與EasyUI DataGrid
第八節: 構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(8)-MVC與EasyUI DataGrid 分頁
第九節: 構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(9)-MVC與EasyUI結合增刪改查
第十節: 構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(10)-系統菜單欄[附源碼]
第十一節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(11)-系統日誌和異常的處理①
第十二節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(12)-系統日誌和異常的處理②
第十三節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(13)-系統日誌和異常的處理③
第十四節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(14)-EasyUI缺陷修復與擴展[附源碼]
第十五節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(15)-權限管理系統準備
第十六節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(16)-權限管理系統-漂亮的驗證碼
第十七節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(17)-LinQ動態排序
-------------------------------------------------------------------------權限管理-----------------------------------------------------------------
第十八節 : 構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(18)-權限管理系統-表數據
第十九節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(19)-權限管理系統-用戶登錄
第二十節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(20)-權限管理系統-根據權限獲取菜單
第二十一節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(21)-權限管理系統-跑通整個系統
第二十二節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(22)-權限管理系統-模塊導航製作
第二十三節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(23)-權限管理系統-角色組模塊
第二十四節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(24)-權限管理系統-將權限授權給角色
第二十五節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(25)-權限管理系統-系統管理員
第二十六節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(26)-權限管理系統-分配角色給用戶
第二十七節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(27)-權限管理系統-分配用戶給角色
-------------------------------------------------------------------------附加功能-----------------------------------------------------------------
第二十八節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(28)-系統小結
第二十九節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(29)-T4模版
第三十零節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(30)-本地化(多語言)
第三十一節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(31)-MVC使用RDL報表
第三十二節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(32)-swfupload多文件上傳[附例子]
第三十三節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(33)-數據驗證共享
第三十四節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(34)-文章發佈系統①-簡要分析
第三十五節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(35)-文章發佈系統②-構建項目
第三十六節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(36)-文章發佈系統③-kindeditor使用
第三十七節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(37)-文章發佈系統④-百萬級數據和千萬級數據簡單測試
第三十八節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(38)-Easyui-accordion+tree漂亮的菜單導航
第三十九節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(39)-在線人數統計探討
第四十零節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(40)-精準在線人數統計實現-【過濾器+Cache】
--------------------------------------------------------------------工作流--------------------------------------------------------------
第四十一節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(41)-組織架構
第四十二節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(42)-工作流設計-數據庫表建立
第四十三節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(43)-工作流設計-字段分類設計
第四十四節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(44)-工作流設計-設計表單
第四十五節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(45)-工作流設計-設計步驟
第四十六節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(46)-工作流設計-設計分支
第四十七節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(47)-工作流設計-補充
第四十八節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(48)-工作流設計-起草新申請
第四十九節:構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的後臺管理系統(49)-工作流設計-我的申請
----------------------------------------------------重大版本更新(但是功能不變)----------------------------------------------------------
第五十零節: 構建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的後臺管理系統(50)-Easyui 扁平化皮膚
第五十一節: 構建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的後臺管理系統(51)-系統升級
第五十二節: 構建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的後臺管理系統(52)-美化EasyUI皮膚和圖標
第五十三節: 構建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的後臺管理系統(53)-工作流設計-我的批閱
第五十四節: 構建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的後臺管理系統(54)-工作流設計-所有流程監控
第五十五節: 構建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的後臺管理系統(55)-工作流設計-表單佈局
----------------------------------------------------常用插件使用----------------------------------------------------------------------------
第五十六節:構建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的後臺管理系統(56)-插件---單文件上傳與easyui使用fancybox
第五十七節:構建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的後臺管理系統(57)-插件---ueditor使用
-----------------------------------------------------重構-------------------------------------------------------------------------------------
第五十八節:構建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的後臺管理系統(58)-DAL層重構
第五十九節:構建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的後臺管理系統(59)-BLL層重構
第六十零節:構建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的後臺管理系統(60)-系統總結
第六十一節:構建ASP.NET MVC5+EF6+EasyUI 1.4.5+Unity4.x注入的後臺管理系統(61)-如何使用框架來開發?
第六十二節:構建ASP.NET MVC5+EF6+EasyUI 1.4.5+Unity4.x注入的後臺管理系統(62)-EF鏈接串加密
第六十三節:構建ASP.NET MVC5+EF6+EasyUI 1.45+Unity4.x注入的後臺管理系統(63)-Excel導入和導出
第六十四節:構建ASP.NET MVC5+EF6+EasyUI 1.4.5+Unity4.x注入的後臺管理系統(64)-WebApi與Unity注入
第六十四節:構建ASP.NET MVC5+EF6+EasyUI 1.4.5+Unity4.x注入的後臺管理系統(64)-WebApi與Unity注入-配置文件
第六十五節:構建ASP.NET MVC5+EF6+EasyUI 1.4.5+Unity4.x注入的後臺管理系統(65)-MVC WebApi 用戶驗證 (1)
第六十六節:構建ASP.NET MVC5+EF6+EasyUI 1.4.5+Unity4.x注入的後臺管理系統(66)-MVC WebApi 用戶驗證 (2)
第六十七節:構建ASP.NET MVC5+EF6+EasyUI 1.4.5+Unity4.x注入的後臺管理系統(67)-MVC與ECharts
-------------------------------------------------------------------------微信公衆平臺二次開發---------------------------------------------
第六十八節:構建ASP.NET MVC5+EF6+EasyUI 1.5+Unity4.x注入的後臺管理系統(68)-微信公衆平臺開發- 資源環境準備
第六十九節:構建ASP.NET MVC5+EF6+EasyUI 1.5+Unity4.x注入的後臺管理系統(69)-微信公衆平臺開發- 功能概述
第七十零節:構建ASP.NET MVC5+EF6+EasyUI 1.5 +Unity4.x注入的後臺管理系統(70)-微信公衆平臺開發-成爲開發者