构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(61)-如何使用框架来开发?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(61)-如何使用框架来开发?相关的知识,希望对你有一定的参考价值。

前言:

有些园友经常问如何正确快速开发,但是我告诉你没有什么帮助文档比自己动手做更加实在,不用代码生成器

这一节专门抽了些时间来非常非常详细演示这个框架的数据流,废话不多说,现在开始!下面看一张图,看看数据如何到前端的就完全明白了!

 技术分享

只看红色部分,这是典型的三层模式。其实这张图只是对我们过去的一个回顾而已!DAL获取数据库数据,交给业务层处理逻辑后交付控制器序列化给前端

从用户请求(View)——>控制器(Controller)——>业务处理(BLL)——>(数据访问)DAL——最后得到数据

 

-------------------------------------------------------------------------丑陋的分割线----------------------------------------------------------------------------

目录

上面只是一个开篇,下面让我们来快速进入主题吧!大致分以下5步完成:(其实纯看手速,手速快的5分钟就可以运行了)

——————————————————————————

  1. 约定
  2. 建立类库与区域
  3. 相互引用
  4. 代码生成
  5. 运行

——————————————————————————

1.约定

其实在写完了权限的时候,我发现了很多重复性编码的东西,所以随便写了个代码生成器,在每次使用代码生成器的时候发现了,代码生成器生成的代码很多都是一样的,所以使用了T4重构了重复部分。

这都是在实际过程中去摸索完善的过程,没有任何架构师,一开始能对一个默生的项目提出最好的架构,只有不断的重构完善,最后才能使框架的维护成本降低!

假如我们是一个大型的应用系统,里面包含的很多业务模块,比如财务管理,人力资源,销售,生产,工作流,那么我是这样分的,也是一种约定

技术分享

一个好的系统他们是可以被拆分和组合的,所以我这样分模块,一个子模块包含了BLL,DAL,IBLL,IDAL你也可以分文件夹,那都是一样的

以一个样例的模块来演示Sample(Spl),所以我们必须有如下的约定:

数据库表前缀: Spl_ 

类库的名称:    Apps.Spl.XXX

控制器区域:    Spl

Models文件夹:Spl

(虽然不是必须执行,但是这也是编码规范)

2.建立类库与区域

分别复制来源于Apps.Base下的所有T4到Apps.Spl对应的BLL,DAL,IDAL,IBLL层

并修改T4的内容的usingName前缀为Spl。(为数据表的约定的前缀)

类库:(如果你的项目是以文件夹而不是类库分类的那么不需要执行这一步)

技术分享

区域:

技术分享

并修改路由规则为如下(多语言的正则表达式)

技术分享 View Code

3.类库引用

(如果你的项目是以文件夹而不是类库分类的那么不需要执行这一步)

为了类库的引用,我们先建立两张表,只有表有了T4才能生成,生成后会报错,报错之后有助于我们对库的引用,OK

我这里建立两张表:表的数据来源于SQL2012的示例数据库AdventureWorks2012大家可以通过百度找到下载地址

表结构我是自己建的,比较简单,你可以随便建立你的表!

技术分享 提取数据的语句(如果感兴趣可以看看)
技术分享 建表语句(如果感兴趣可以看看)

这是一个产品与类别关系的表!没啥

技术分享

根据报错信息我们将要分别引用类库,类库需要引用关系如下图所示

技术分享

只看红色框框内即可,白色为系统原有的类库,别看好像很复杂,手速快的其实就一分钟的事情而已!

千万别忘记注入。在App.Core下的UnityDependencyResolver类库

4.代码生成

新建2个控制器。ProductController与ProductCategoryController

技术分享

最后进入收尾工作,接下来的事情由代码生成器生成!生成代码后复制进Controller与View就可以

技术分享

 

5.运行

运行系统,最后设置好权限和模块

技术分享

技术分享

最后刷新一下系统。杠杠的

技术分享

技术分享

总结

文章很长,但是很详细,看完对框架认知度至少提高200%。

主要几步来完成。新建类库---->数据库表---->生成代码---->直接运行。速度快的其实只需5分钟,毫无难度可言

几乎没有写一行代码就能实现界面的展示,如果把代码生成器努力优化将能支持多表联合查询,支持复合实际的开发业务,那么编码速度的提升是质的提升

谢谢大家。

下一节将演示如何添加除生成之外的功能!如何使用代码来做其它事

以上是关于构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(61)-如何使用框架来开发?的主要内容,如果未能解决你的问题,请参考以下文章

构建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.5+Unity4.x注入的后台管理系统-前言与目录(持续更新中...)

构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(63)-Excel导入和导出

构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(63)-Excel导入和导出

构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(61)-如何使用框架来开发?