昨天聽完永康對EASYUI的介紹後終於明白了優秀的UI框架就是第一輩子產力,過去本身一直沉浸在後端代碼中,徹底忽視了前端的生產力交互,總以爲界面漂亮就是生產力,其實大錯特錯,真正的具備高效生產力的界面實際上是像EASYUI那樣不是很漂亮可是各類下拉表格,一個屏幕多級的操做纔是高效的生產。高效的生產是對用戶的環境有要求,並不是像網頁那樣中看不中用。人類有着悠久的略比淘汰良幣的歷史,大部分的人都不肯學習新東西,習慣按照習慣的操做來生活,因此對於什麼是好的真的沒有一個真理。用戶習慣的,高效的就是好的。能夠快速響應實現客戶的各類需求的就是優秀的,對於客戶來說,最少的步驟,最簡單的界面和完整的操做功能就是生產力。其餘的即使再漂亮,若是知足不了用戶生產力的須要,管理軟件也是沒有用的。前端
今天着手搭建一套本身公司未來使用的框架。json
該框架的特色:後端
開源:該框架大量使用開源的組件來構建,自己也徹底開源;安全
先進:使用ASP.NET MVC及相關的組件最新版本,最新特性;微信
該框架的要求是:框架
組件式:基於Autofac的Ioc,開發人員根據需求組合各類組件進行項目開發;學習
安全:用戶、角色、功能、驗證、受權模塊,實現原子級別操做的安全性;測試
UI:系統須要自帶EASYUI支持後臺快速開發,Bootstrap支持響應式,knockout 實現MVVM.net
日誌:基於NLog和日誌管理模塊,聲明式記錄每一個操做的成功或失敗,後臺進行業務日誌審計和系統日誌查看。日誌
數據層:基於Entity Framework Code First實現ORM,快速實現增刪改查等操做。
業務層:使用先進的DDD領域驅動開發創建領域模型,使用充血模型,有效地組織和重用業務邏輯
框架層次:
IE、Chrome、微信、QQ(最高層的用戶界面)
EasyUI,Bootstrap,knockout
Seeing Web(基於ASP.NET MVC的框架)
Seeing Domain
Seeing Repositories
Seeing Data
Entity Framework
Seeing Core
Nlog,Autofac(最底層的支撐)
開始搭建
首先建立一個空白的工程Seeing.Framework
接下來添加一個基於.net framework 4.5.1版本的C#類庫 Seeing.Core
打開nuget,連續安裝nlog和autofac和autofac.configuration
接下來添加一個基於MVC5的ASP.NET MVC工程。
打開nuget,連續安裝nlog和nlog.config,autofac和autofac.configuration。
安裝完成後配置nlog將日誌輸出到${basedir}/logs/${shortdate}.log輸出文件
配置完成後增長autofac的配置,我使用json方式來配置。配置的時候才發現其實本身並不熟悉autofac,因而花了一天時間把autofac官網文檔讀了一遍。寫了幾個測試的demo後漸漸的熟悉了起來。
接下來在Seeing.Core工程中注入HttpModule,根據經驗我建立了一個IAppHttpModule,而後繼承IHttpModule實現了一個加載器,該加載器會在系統每次請求的時候加載全部經過autofac注入的模塊。
今天就實現了這些。