昨天听完永康对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注入的模块。
今天就实现了这些。