一.三种模式比较

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. Git详解之八:Git与其他系统

    Git 与其他系统 世界不是完美的.大多数时候,将所有接触到的项目全部转向 Git 是不可能的.有时我们不得不为某个项目使用其他的版本控制系统(VCS, Version Control System ...

  2. 适合小白/外行的git与github最基础最浅显教程

    首先声明,这是适合小白/外行/初学者/学生看的最基础最简单的git与github教程,已经能使用svn,git等工具的朋友请不要看这篇文章来浪费时间了. 想进一步学习git的,推荐去廖雪峰博客学习. ...

  3. .NET Core+MySql+Nginx 容器化部署

    .NET Core容器化@Docker .NET Core容器化之多容器应用部署@Docker-Compose .NET Core+MySql+Nginx 容器化部署 GitHub-Demo:Dock ...

  4. 这是要逆天么,看我控制台程序玩Microsoft XPS Document 打印

    主要是想试试Microsoft XPS Document 打印时怎样去掉那个“将打印输出另存为”对话框 using System; using System.Drawing; using System ...

  5. vscode运行前端代码

    vscode 可安装静态web服务器  Live Server用于运行前端代码,方便调试.最新的 Live Server已支持php动态页面. 安装方法是,点击左侧第五个图标,打开"扩展&q ...

  6. Java的类的实例化顺序

    Java的类的实例化顺序 父类的静态数据 子类的静态数据 父类的成员变量 父类的构造方法 子类的成员变量 子类的构造方法

  7. 记一次电信反射xss的挖掘与利用

    0X0.前言 早上起床,打开手机习惯性刷刷新闻,却发现网络无法连接,本以为是光猫出现了问题,后来发现是忘记续费,欠费了. 在网上充值完之后,等了有将近十分钟,网依旧没恢复.随打了个电话给客服,客服在后 ...

  8. Python模块学习------ 多线程threading(2)

    一.避免使用thread模块,使用threading模块的原因: 1. 更高级别的threading模块更为先进,对线程的支持更加完善.而且使用thread模块的属性有可能会与threading 出现 ...

  9. replace into 浅析之一

    一 介绍  在笔者支持业务过程中,经常遇到开发咨询replace into 的使用场景以及注意事项,这里做个总结.从功能原理,性能和注意事项上做个说明.二 原理2.1 当表中存在主键但是不存在唯一建的 ...

  10. Redis in Docker on Linux Container

    记录:在Docker中运行一个Redis实例当我们在Windows系统中安装好Docker以后,在Hyper-V中会自动创建一个Linux虚拟机,如果这个虚拟机没有运行,说明当前运行的是Windows ...