zoukankan      html  css  js  c++  java
  • 构建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分钟,毫无难度可言

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

    谢谢大家。

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

  • 相关阅读:
    最长上升子序列模板
    51nod 1134最长递增子序列
    最长上升子序列的两种解法
    树状数组模板
    51nod 1081 子段求和
    QT5每日一学(三) QT登陆对话框
    clock()函数的返回值精度问题
    人工智能-超越经典搜索
    人工智能(三)上——通过搜索进行问题求解(有信息搜索策略)
    人工智能(三)上——通过搜索进行问题求解
  • 原文地址:https://www.cnblogs.com/syg1/p/5551882.html
Copyright © 2011-2022 走看看