系列目录

前言:

起初写这个框架的时候,可以说在当时来说并不是很流行的设计模式,那是在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的业务层。

基于接口:规范、约束、分离等,通俗点来说我主要作为分包,业务代码隐藏,团队开发中只要定义好接口,而无需要实用业务,就能发包同时开发进行,非常好

如何阅读本系列的文章

理论上任何感兴趣的园友都可以了解和阅读,但是如果你具备一定的工作经验那么看起来事半功倍。

其中1-10节:是本系列的入门基础。基本就确定了从用户请求到读取数据库的全过程,主要讲解Easyui是如何读取后台数据,通过Json数据的交互方式,速度快无刷新,同样适用其他前段框架。如Extjs,jqgrid等等。

11,12,13节:是本系统的日志、异常处理方式,日志可以记录用户的每个动作,异常可以让开发人员快速得到问题定位。

18-28节:权限是每个应用系统最基本的东西,理论必须拥有。关键权限是控制程度,本系列把权限控制到按钮级别,通过全局过滤器来处理请求

--------------------中间为选读章节------------------

58,59节是本系列的重构章节,通过T4模板,封装了DAL,BLLMODEL'的重复代码,代码生成器的'BLL,DAL已经不再需要。大大省掉了很多重复代码,必须阅读。就算你的系统并不属于本系列的范围,但是58,59也许对你有帮助

后续将带来一些WebAPI的开放及验证,让WebAPI开放给移动端等文章,让我们知道安卓是如何与我们的API进行通讯及验证

写在最后

  感谢大家一直以来的支持,正所谓赞得高尿得远!嘿嘿..

ASP.NET MVC5+EF6+EasyUI 后台管理系统(60)-系统总结的更多相关文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统--任务调度系统解析

    1.任务主界面.任务可以被挂起,启动,和删除.来自著名Quartz扩展 2.任务可以是执行的SQL命令,存储过程,或者是一个后台方法 3.极其复杂的调度任务,循环次数,可以自行设置.并可以间隔执行,比 ...

  2. ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...)

    开发工具:VS2015(2012以上)+SQL2008R2以上数据库  您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB  升级后界面效果如下: 任务调度系统界面 http: ...

  3. ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(转)

    开发工具:VS2015(2012以上)+SQL2008R2以上数据库 您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB 升级后界面效果如下: 日程管理   http://ww ...

  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-Excel导入和导出-自定义表模导入

    系列目录 前言 上一节使用了LinqToExcel和CloseXML对Excel表进行导入和导出的简单操作,大家可以跳转到上一节查看: ASP.NET MVC5+EF6+EasyUI 后台管理系统(6 ...

  5. ASP.NET MVC5+EF6+EasyUI 后台管理系统-WebApi的用法与调试

    1:ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-WebApi与Unity注入 使用Unity是为了使用我们后台的BLL和DAL层 2:ASP.NET MVC5+EF6+Easy ...

  6. ASP.NET MVC5+EF6+EasyUI 后台管理系统(51)-系统升级

    系统很久没有更新内容了,期待已久的更新在今天发布了,最近花了2个月的时间每天一点点,从原有系统 MVC4+EF5+UNITY2.X+Quartz 2.0+easyui 1.3.4无缝接入 MVC5+E ...

  7. ASP.NET MVC5+EF6+EasyUI 后台管理系统(56)-插件---单文件上传与easyui使用fancybox

    系列目录 https://yunpan.cn/cZVeSJ33XSHKZ  访问密码 0fc2 今天整合lightbox插件Fancybox1.3.4,发现1.3.4版本太老了.而目前easyui 1 ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(58)-DAL层重构

    系列目录 前言:这是对本文系统一次重要的革新,很久就想要重构数据访问层了,数据访问层重复代码太多.主要集中增删该查每个模块都有,所以本次是为封装相同接口方法 如果你想了解怎么重构普通的接口DAL层请查 ...

  9. ASP.NET MVC5+EF6+EasyUI 后台管理系统(34)-文章发布系统①-简要分析

    系列目录 最新比较闲,为了学习下Android的开发构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与,虽然有点没有目的的学习,但还是了解了Andro ...

随机推荐

  1. 理解CSS边框border

    前面的话   边框是CSS盒模型属性中默默无闻的一个普通属性,CSS3的到来,但得边框属性重新焕发了光彩.本文将详细介绍CSS边框 基础样式   边框是一条以空格分隔的集合样式,包括边框粗细(边框宽度 ...

  2. 2015 西雅图微软总部MVP峰会记录

    2015 西雅图微软总部MVP峰会记录 今年决定参加微软MVP全球峰会,在出发之前本人就已经写这篇博客,希望将本次会议原汁原味奉献给大家 因为这次是本人第一次写会议记录,写得不好的地方希望各位园友见谅 ...

  3. .NET Core的日志[4]:将日志写入EventLog

    面向Windows的编程人员应该不会对Event Log感到陌生,以至于很多人提到日志,首先想到的就是EventLog.EventLog不仅仅记录了Windows系统自身针对各种事件的日志,我们的应用 ...

  4. jQuery学习之路(2)-DOM操作

    ▓▓▓▓▓▓ 大致介绍 jQuery作为JavaScript库,继承并发扬了JavaScript对DOM对象操作的特性,使开发人员能方便的操作DOM对象. ▓▓▓▓▓▓ jQuery中的DOM操作 看 ...

  5. js:给定两个数组,如何判断他们的相对应下标的元素类型是一样的

    题目: 给Array对象原型上添加一个sameStructureAs方法,该方法接收一个任意类型的参数,要求返回当前数组与传入参数数组(假定是)相对应下标的元素类型是否一致. 假设已经写好了Array ...

  6. Vertica 数据库知识汇总篇

    Vertica 数据库知识汇总篇(更新中..) 1.Vertica 集群软件部署,各节点硬件性能测试 2.Vertica 创建数据库,创建业务用户测试 3.Vertica 数据库参数调整,资源池分配 ...

  7. await and async

    Most people have already heard about the new “async” and “await” functionality coming in Visual Stud ...

  8. Spark读写Hbase的二种方式对比

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 一.传统方式 这种方式就是常用的TableInputFormat和TableOutputForm ...

  9. isEmpty和isNull()区别

     isEmpty和isNull()区别一个NULL字符串一定是一个空串,一个空串未必是一个NULL字符串例如:QString().isNull():   //结果为trueQString().isEm ...

  10. JavaScript求两个数字之间所有数字的和

    这是在fcc上的中级算法中的第一题,拉出来的原因并不是因为有什么好说的,而是我刚看时以为是求两个数字的和, 很显然错了.我感觉自己的文字理解能力被严重鄙视了- -.故拉出来折腾折腾. 要求: 给你一个 ...