一.三种模式比较

1、MVC框架(适合大型项目)

(1).V视图 (网页部分)

(2).M模型 (业务逻辑+数据访问+实体类)

(3).C控制器 (介于M和V之间,起到引导作用)

2、三层架构

(1).UI (网页、窗体)

(2).BLL (业务逻辑,只有逻辑代码,没有数据访问代码)

(3).DAL (数据访问,访问数据源)

Models(实体类:用来封装数据,就是数据的载体)

3、三层架构+MVC

V

C

M(BLL +DAL+Models)

三层架构+MVC组合应用模式如图:

二.    三层架构+MVC组合开发步骤:

1.创建MVC项目

打开VS->文件->新建项目->mvc4项目->模板暂时选择空(之后做项目一般选择基本)->视图暂时选择ASPX

2.添加Model层(BLL\DAL\Models)

(注意Model层为模型层,Models为实体类)

右键解决方案—>添加新建项目—>选择类库—>BLL\DAL\Modles

3.添加项目之间的引用(要从底层往上层添加,不能倒过来,不能循环引用)

(1)DAL :Models

(2)BLL :Models+DAL

(3)UI(即MVC的基础框架)    :Models+BLL

按照以上关系添加引用

4.添加需要的类

(1)添加实体类(和数据库名字是对应的): SysAdmin

(2)数据访问类: 通用数据访问类 SQLHelper+数据访问类 (对应当前实体类操作的访问类)SysAdminService

注意1:在类库中添加的类都要加public

注意2:数据访问类和和通用数据访问类都要加两个命名空间

using System.Data;
using System.Data.SqlClient;

(3)添加业务逻辑类:SysAdminManager

5.添加控制器SysAdmin

6.按照MVC的约定,在视图Views中添加一个与控制器同名文件夹,然后在子文件夹中添加视图。

7.修改路由

至此,框架搭建完毕。

最后:改一下控制器的返回视图,运行程序成功。

总结:再看下MVC+三层的组合模式一目了然

asp.net -mvc框架复习(10)-基于三层架构与MVC搭建项目框架的更多相关文章

  1. asp.net -mvc框架复习(11)-基于三层架构与MVC实现完整的用户登录

    一.先从M部分写起(Modles\DAL\BLL) 1.Modles 实体类:上次实体类已经搞定. 2.DAL 数据访问类类 (1)通用数据数据访问类: A:  先编写数据连接字符串,写到网站根目录W ...

  2. Asp.Net MVC<一> : 三层架构、MVC

    MVC.MVP.MVVM.Angular.js.Knockout.js.Backbone.js.React.js.Ember.js.Avalon.js.Vue.js 概念摘录 认清Android框架 ...

  3. 转载——Asp.Net MVC+EF+三层架构的完整搭建过程

    转载http://www.cnblogs.com/zzqvq/p/5816091.html Asp.Net MVC+EF+三层架构的完整搭建过程 架构图: 使用的数据库: 一张公司的员工信息表,测试数 ...

  4. asp.net中三层架构与mvc之区别?

    对于标题中的问题,如果是没有同时接触三层架构和mvc的初级.net开发人员,想必一定会非常糊涂和混淆.关于此我也百度过N回,看过N多帖子和 回答,但几乎没有人能表述清楚.近期我从典型mvc+entit ...

  5. 三层架构和MVC

    注:本文章内所有内容都来自互联网,本人主要是起了一个收集的作用 http://www.cnblogs.com/zhhh/archive/2011/06/10/2077519.html 又看到有人在问三 ...

  6. Web项目的三层架构和MVC架构异同

    http://www.cnblogs.com/zhhh/archive/2011/06/10/2077519.html 又看到有人在问三层架构和MVC的关系,感觉这种问题有点教条化了.因为它们都在逻辑 ...

  7. 三层架构和MVC模式

    目录[-] 1.三层架构 2.MVC 2.1 标准的MVC(Model-View-Controller) 2.2 Web MVC 3.三层架构和MVC的区别与联系 1.三层架构 三层架构(3-tier ...

  8. 三层架构与MVC的区别

    我们平时总是将混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真相. 首先,它俩根本不是一个概念. 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. MVC是一个设 ...

  9. [1] [转]软件架构之三层架构和MVC的关系

    注:本文章内所有内容都来自互联网,本人主要是起了一个收集的作用 又看到有人在问三层架构和MVC的关系,感觉这种问题有点教条化了.因为它们都在逻辑上将应用程序划为三块,凑了一个数字3,就有人非要把它们联 ...

随机推荐

  1. jQuery Ajax post多个值传参

    http://blog.csdn.net/wang8559422/article/details/42394839 data:'id='+data+'&val='+val   加&符 ...

  2. Python简单小程序练习

    1.九九乘法表 #!/usr/bin/python for i in range(1,10): for j in range(i): j += 1 print ("%d * %d = %-2 ...

  3. HTML5发布的意义

    解决文档结构混乱 以前的文档结构过度依赖div,HTML5推出了多种语义化标签,使得文档更利于阅读器等理解,更利于SEO优化. 解决浏览器之间的兼容性问题 市场上浏览器种类繁多,每个浏览器厂商都在做自 ...

  4. 吓尿了,mac下bash出了问题

    由于个人的脑残行为,使用homebrew安装bash后,使用chsh命令将其改成brew安装的特定版本的bash,结果上次brew更新bash之后,就彻底用不了shell了... 无奈只能添加新的管理 ...

  5. java多线程(六)-线程的状态和常用的方法

    一个线程可以处于以下几种状态之一: (1) 新建(new):当线程被创建时,它只会短暂的处于这种状态,此时它已经获得了必须的系统资源,并执行了初始化,该线程已经有资格获取cpu时间了,之后它将转化为可 ...

  6. JSP EL隐含对象

    JSP 内置对象 JSP EL隐含对象 描述 page pageScope page 作用域 request requestScope request 作用域 session sessionScope ...

  7. JS操作css样式用法

    //html <div id="div1" style="background:red;"> 修改背景颜色 </div> <but ...

  8. javascript函数与表达式

    函数的定义 函数声明 由三部分组成:函数名,函数参数,函数体 函数体没有使用return关键字返回函数时,函数调用时返回默认的undefined:如果有使用return语句,则返回指定内容 funct ...

  9. JavaWeb项目中获取对Oracle操作时抛出的异常错误码

    最近在项目中碰到了这么一个需求,一个JavaWeb项目,数据库用的是Oracle.业务上有一个对一张表的操作功能,当时设置了两个字段联合的唯一约束.由于前断没有对重复字段的校验,需要在插入时如果碰到唯 ...

  10. Java学习笔记18---final关键字修饰变量、方法及类

    英语里final这个单词大家都知道是"最终的"意思,其实还有一个意思是"不可更改的".在Java里,final关键字作"不可更改的"来解释更 ...