asp.net mvc 项目架构解析

时间:2021-12-04 11:22:21

请先看框架图:

asp.net mvc 项目架构解析

从上图可知:

1、Controller控制器只是充当了管道的作用。只做任务的分发,不做请求中的具体业务处理。

2、Views视图充当了展示数据的作用。不做任何取数逻辑的处理,只是展示逻辑的处理。

3、Model实体包括了BLL、DAL、Model(Entity)、API层。

4、BLL层为业务逻辑层。

5、请求的整个过程:BLL层接收Controller控制器的指令,处理具体的业务处理,如果需要数据库操作,则调用DAL层和Model(Entity);处理完后将数据返回给控制器,控制器再把数据传给视图views,视图将数据处理好后再返回给控制器,控制器再传给客户。

总结:

1、以后,我们在项目里对Controller控制器进行瘦身,减少控制器里的业务逻辑,业务逻辑都放到BLL层里。

2、Controller控制器里,不允许出现非Action的方法存在。

3、数据调用sql执行,禁止任何地方使用拼接sql字符串的情况,如有实在不好写的地方,请报备。

4、严格按照分层模式来,不允许出现乱写的情况;

5、新增加的方法必须写明注释,注释包括:方法的逻辑说明,作者,时间。

6、Controller控制器处理单表的情况下,BLL层使用动软生成的类做业务处理;Controller处理多表的情况下,在BLL层建立一个新类,命名以控制器+Mgr,比如AccountController对应的BLL层类为AccountMgr。

asp.net mvc 项目架构解析的更多相关文章

  1. Asp.net mvc项目架构分享系列之架构概览

    Asp.net mvc项目架构分享系列之架构概览 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构 ...

  2. Asp.net mvc项目架构分享系列之架构搭建初步

    copy to:http://www.cnblogs.com/ben121011/p/5014795.html 项目架构各部分解析 Core Models IDAL MSSQLDAL IBLL BLL ...

  3. Mvc项目架构分享之项目扩展

    Mvc项目架构分享之项目扩展 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 5.项目 ...

  4. mvc项目架构分享系列之架构搭建初步

    mvc项目架构分享系列之架构搭建初步 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 ...

  5. 1.2 认识ASP.NET MVC项目结构

    1.开发环境 操作系统:xp.vista.windows 7.windows 8.windows server 2003|2008|2008R2|2012: 集成开发环境IDE: Vsiual Stu ...

  6. ASP.Net MVC+EF架构

    ASP.Net MVC是UI层的框架,EF是数据访问的逻辑. 如果在Controller中using DbContext,把查询的结果的对象放到cshtml中显示,那么一旦在cshtml中访问关联属性 ...

  7. AngularJS2 + ASP.NET MVC项目

    环境:VS2015, NodeJS:v 6.5, npm: v3.10, AngularJs 2 通过将ASP.NET MVC项目与Angualr 2官网上的quick start整合的过程中遇到些问 ...

  8. 远程调试 ASP.NET MVC 项目

    Visual Studio 支持从一台计算机到另一台设备的远程调试.进行远程调试时,主机可以是任何支持 Visual Studio 的平台.远程设备可以是 x86.x64 或 ARM 平台. 本文将指 ...

  9. 习题-任务2初始ASP.NET MVC项目开发

    一.选择题 1.在ASP.NET MVC项目的RouteConfig.cs文件中,(    )方法注册了默认的路由配置. A.RegisterMap    B.RegisterRoutes    C. ...

随机推荐

  1. android studio 报错-----R全部显示红色 ---- .9图片报错

    导入android项目后,R全部变红,控制台有下面的提示 意思是缺少一些资源,比如说图片之类的,然后我发现确实少了一张图片资源,导入图片资源后,依旧报错,如下  Error:Execution fai ...

  2. FlatBuffers与protobuf性能比较

    FlatBuffers发布时,顺便也公布了它的性能数据,具体数据请见Benchmark. 它的测试用例由以下数据构成"a set of about 10 objects containing ...

  3. .OCX、.dll文件注册命令Regsvr32的使用

    1.打开文件,打开需要注册的OCX文件或dll文件,2.然后根据需要进行OCX文件或DLL文件的注册和反注册 DLL.OCX注册方法--文件Regsvr32用法及情况介绍 使用过activex的人都知 ...

  4. 设计模式4 外观模式 FACADE

    一个外观是一个类,其提供的功能介于工具箱的功能和完整系统的功能之间,并为一个包或者一个子系统中的类提供了简化的使用方式.

  5. ios滑动流畅(丝般顺滑)滚动

    在ios html->body->list(少一个样式都不行!) html->body->list <!DOCTYPE html> <html lang=&q ...

  6. 导出文件的时候 加大php内存

    ini_set('max_execution_time', 3600); ini_set('memory_limit', '2048M');

  7. openwrt中防暴力破解shell的脚本

    原文:http://www.right.com.cn/forum/thread-124429-1-1.html 原理:1. snort做入侵检测是很好,但是太大太复杂,我们需要轻量化的操作.当对方进行 ...

  8. 【Hibernate】数据Session对象的常规操作收集

    因为Hibernate是ORM(对象关系映射)的,所以程序员是不需要写Sql语句的.所有的操作都是通过对对象的操作. 1,原生Session 事务管理 Transaction tx = session ...

  9. Ubuntu 使用文件 casper-rw 镜像文件 保存变更内容

    yumi工具本可以制作基于u盘的persistent启动盘 casper-rw是ubuntu特有的一种功能,支持liveCD启动的ubuntu系统保存用户的变更内容 那我们想同iso光盘从硬盘上启动, ...

  10. D3&period;js学习笔记(六)——SVG基础图形和D3&period;js

    目标 在这一章,我们将会重温SVG图形,学习如何使用D3.js来创建这些图形. 这里会包括前面例子中的SVG基础图形以及如何使用D3.js设置图形的属性. 使用D3.js画一个SVG 的 圆 circ ...