asp.net -mvc框架复习(10)-基于三层架构与MVC搭建项目框架
一.三种模式比较
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搭建项目框架的更多相关文章
- asp.net -mvc框架复习(11)-基于三层架构与MVC实现完整的用户登录
一.先从M部分写起(Modles\DAL\BLL) 1.Modles 实体类:上次实体类已经搞定. 2.DAL 数据访问类类 (1)通用数据数据访问类: A: 先编写数据连接字符串,写到网站根目录W ...
- Asp.Net MVC<一> : 三层架构、MVC
MVC.MVP.MVVM.Angular.js.Knockout.js.Backbone.js.React.js.Ember.js.Avalon.js.Vue.js 概念摘录 认清Android框架 ...
- 转载——Asp.Net MVC+EF+三层架构的完整搭建过程
转载http://www.cnblogs.com/zzqvq/p/5816091.html Asp.Net MVC+EF+三层架构的完整搭建过程 架构图: 使用的数据库: 一张公司的员工信息表,测试数 ...
- asp.net中三层架构与mvc之区别?
对于标题中的问题,如果是没有同时接触三层架构和mvc的初级.net开发人员,想必一定会非常糊涂和混淆.关于此我也百度过N回,看过N多帖子和 回答,但几乎没有人能表述清楚.近期我从典型mvc+entit ...
- 三层架构和MVC
注:本文章内所有内容都来自互联网,本人主要是起了一个收集的作用 http://www.cnblogs.com/zhhh/archive/2011/06/10/2077519.html 又看到有人在问三 ...
- Web项目的三层架构和MVC架构异同
http://www.cnblogs.com/zhhh/archive/2011/06/10/2077519.html 又看到有人在问三层架构和MVC的关系,感觉这种问题有点教条化了.因为它们都在逻辑 ...
- 三层架构和MVC模式
目录[-] 1.三层架构 2.MVC 2.1 标准的MVC(Model-View-Controller) 2.2 Web MVC 3.三层架构和MVC的区别与联系 1.三层架构 三层架构(3-tier ...
- 三层架构与MVC的区别
我们平时总是将混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真相. 首先,它俩根本不是一个概念. 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. MVC是一个设 ...
- [1] [转]软件架构之三层架构和MVC的关系
注:本文章内所有内容都来自互联网,本人主要是起了一个收集的作用 又看到有人在问三层架构和MVC的关系,感觉这种问题有点教条化了.因为它们都在逻辑上将应用程序划为三块,凑了一个数字3,就有人非要把它们联 ...
随机推荐
- c# 去除字符串中重复字符
String.Join 和 Distinct 方法 https://www.cnblogs.com/louby/p/6224960.html 1.在写程序中经常操作字符串,需要去重,以前我的用方式利用 ...
- C# 全选中数字文本框内容
/// <summary> /// 全选中数字文本框内容 /// </summary> /// <param name=&quo ...
- vue的挖坑和爬坑之css背景图样式终极解决方法
原问题 #wrapper{ width:100%; height:100%; position:fixed; background-image:url(./img/open_bg.jpg) } 在.v ...
- Python配置文件实现
实现目标: 支持配置文件继承 支持本地配置文件 支持配置文件别名 简单的配置文件操作 最新的代码可以参考 https://github.com/blackmatrix7/matrix-toolkit/ ...
- Ubuntu16.04 IDE: 用Vim逐步打造一个IDE
目前打造完成的IDE主要有: terminator+Bundle+NERDtree+YCF(youcompleteme)+UltiSnips+新创建文件自动补充注释和作者,版权信息等 1,当任务比较多 ...
- Nginx集群及代理的应用
目录 1 大概思路... 1 2 了解Nginx及文档资源... 1 3 Nginx命令模块及进程结构... 2 4 解读Nginx配置... 3 5 ...
- 如何在MicroPython TPYBoard 添加自定义类库
开始之前,首先要感谢一下TPYBoard技术交流群(157816561)-云之初晓网友的分享. 今天简单分享下如何将自己编写的一些Python脚本的类库添加到固件中,在使用时只需import调用, ...
- 固定底部导航菜单-续集(BottomMenu-移动端V3.0)
固定底部导航菜单-续集(BottomMenu-移动端V3.0) 适应在客户端,点击弹出二级菜单.因为手机不支持hover.所以使用click点击实现弹出菜单,并且一级菜单聚焦变色,变化背景图片 核心c ...
- mysql自连接求累计金额
- ASP.NET MVC 设置区域默认定向
public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "m_defau ...