一.三种模式比较

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. c# 去除字符串中重复字符

    String.Join 和 Distinct 方法 https://www.cnblogs.com/louby/p/6224960.html 1.在写程序中经常操作字符串,需要去重,以前我的用方式利用 ...

  2. C# 全选中数字文本框内容

    /// <summary>        /// 全选中数字文本框内容        /// </summary>        /// <param name=&quo ...

  3. vue的挖坑和爬坑之css背景图样式终极解决方法

    原问题 #wrapper{ width:100%; height:100%; position:fixed; background-image:url(./img/open_bg.jpg) } 在.v ...

  4. Python配置文件实现

    实现目标: 支持配置文件继承 支持本地配置文件 支持配置文件别名 简单的配置文件操作 最新的代码可以参考 https://github.com/blackmatrix7/matrix-toolkit/ ...

  5. Ubuntu16.04 IDE: 用Vim逐步打造一个IDE

    目前打造完成的IDE主要有: terminator+Bundle+NERDtree+YCF(youcompleteme)+UltiSnips+新创建文件自动补充注释和作者,版权信息等 1,当任务比较多 ...

  6. Nginx集群及代理的应用

    目录 1       大概思路... 1 2       了解Nginx及文档资源... 1 3       Nginx命令模块及进程结构... 2 4       解读Nginx配置... 3 5  ...

  7. 如何在MicroPython TPYBoard 添加自定义类库

    开始之前,首先要感谢一下TPYBoard技术交流群(157816561)-云之初晓网友的分享.   今天简单分享下如何将自己编写的一些Python脚本的类库添加到固件中,在使用时只需import调用, ...

  8. 固定底部导航菜单-续集(BottomMenu-移动端V3.0)

    固定底部导航菜单-续集(BottomMenu-移动端V3.0) 适应在客户端,点击弹出二级菜单.因为手机不支持hover.所以使用click点击实现弹出菜单,并且一级菜单聚焦变色,变化背景图片 核心c ...

  9. mysql自连接求累计金额

  10. ASP.NET MVC 设置区域默认定向

    public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "m_defau ...