请先看框架图:
从上图可知:
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 项目架构解析的更多相关文章
-
Asp.net mvc项目架构分享系列之架构概览
Asp.net mvc项目架构分享系列之架构概览 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构 ...
-
Asp.net mvc项目架构分享系列之架构搭建初步
copy to:http://www.cnblogs.com/ben121011/p/5014795.html 项目架构各部分解析 Core Models IDAL MSSQLDAL IBLL BLL ...
-
Mvc项目架构分享之项目扩展
Mvc项目架构分享之项目扩展 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 5.项目 ...
-
mvc项目架构分享系列之架构搭建初步
mvc项目架构分享系列之架构搭建初步 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 ...
-
1.2 认识ASP.NET MVC项目结构
1.开发环境 操作系统:xp.vista.windows 7.windows 8.windows server 2003|2008|2008R2|2012: 集成开发环境IDE: Vsiual Stu ...
-
ASP.Net MVC+EF架构
ASP.Net MVC是UI层的框架,EF是数据访问的逻辑. 如果在Controller中using DbContext,把查询的结果的对象放到cshtml中显示,那么一旦在cshtml中访问关联属性 ...
-
AngularJS2 + ASP.NET MVC项目
环境:VS2015, NodeJS:v 6.5, npm: v3.10, AngularJs 2 通过将ASP.NET MVC项目与Angualr 2官网上的quick start整合的过程中遇到些问 ...
-
远程调试 ASP.NET MVC 项目
Visual Studio 支持从一台计算机到另一台设备的远程调试.进行远程调试时,主机可以是任何支持 Visual Studio 的平台.远程设备可以是 x86.x64 或 ARM 平台. 本文将指 ...
-
习题-任务2初始ASP.NET MVC项目开发
一.选择题 1.在ASP.NET MVC项目的RouteConfig.cs文件中,( )方法注册了默认的路由配置. A.RegisterMap B.RegisterRoutes C. ...
随机推荐
-
android studio 报错-----R全部显示红色 ---- .9图片报错
导入android项目后,R全部变红,控制台有下面的提示 意思是缺少一些资源,比如说图片之类的,然后我发现确实少了一张图片资源,导入图片资源后,依旧报错,如下 Error:Execution fai ...
-
FlatBuffers与protobuf性能比较
FlatBuffers发布时,顺便也公布了它的性能数据,具体数据请见Benchmark. 它的测试用例由以下数据构成"a set of about 10 objects containing ...
-
.OCX、.dll文件注册命令Regsvr32的使用
1.打开文件,打开需要注册的OCX文件或dll文件,2.然后根据需要进行OCX文件或DLL文件的注册和反注册 DLL.OCX注册方法--文件Regsvr32用法及情况介绍 使用过activex的人都知 ...
-
设计模式4 外观模式 FACADE
一个外观是一个类,其提供的功能介于工具箱的功能和完整系统的功能之间,并为一个包或者一个子系统中的类提供了简化的使用方式.
-
ios滑动流畅(丝般顺滑)滚动
在ios html->body->list(少一个样式都不行!) html->body->list <!DOCTYPE html> <html lang=&q ...
-
导出文件的时候 加大php内存
ini_set('max_execution_time', 3600); ini_set('memory_limit', '2048M');
-
openwrt中防暴力破解shell的脚本
原文:http://www.right.com.cn/forum/thread-124429-1-1.html 原理:1. snort做入侵检测是很好,但是太大太复杂,我们需要轻量化的操作.当对方进行 ...
-
【Hibernate】数据Session对象的常规操作收集
因为Hibernate是ORM(对象关系映射)的,所以程序员是不需要写Sql语句的.所有的操作都是通过对对象的操作. 1,原生Session 事务管理 Transaction tx = session ...
-
Ubuntu 使用文件 casper-rw 镜像文件 保存变更内容
yumi工具本可以制作基于u盘的persistent启动盘 casper-rw是ubuntu特有的一种功能,支持liveCD启动的ubuntu系统保存用户的变更内容 那我们想同iso光盘从硬盘上启动, ...
-
D3.js学习笔记(六)——SVG基础图形和D3.js
目标 在这一章,我们将会重温SVG图形,学习如何使用D3.js来创建这些图形. 这里会包括前面例子中的SVG基础图形以及如何使用D3.js设置图形的属性. 使用D3.js画一个SVG 的 圆 circ ...