Mvc设计模型与三层架构
Mvc(Model-View-Controller):是软件架构的一中设计模式,对软件进行分割成3个层次:视图、模型、控制。
实现对软件的一种动态的设计,并且容易对软件进行扩展、后期的修改,使某些程序尽量避免重复的代码;能够使用负责的程序简单化,程序的架构更直观。通过自身基本的分离,同时并对其程序他基本的部分进行了赋予!

1、Model:对数据库进行设计,使程序拥有的基本pojo实体,应用对象。模型的主体部分,一个模型可被多个视图重用提供数据,提高了应用的可重用性!
2、View:数据的展示,向用户显示相关的数据,并通过视图与控制器交互,从模型中得到数据,但是不能改变模型!
3、controller:对请求进行控制,负责处理请求、响应。通过从视图的请求,调用相应的模型组件去处理,然后并调用相应的视图展示模型返回的数据
三层架构
一、分层模式:
1、分层模式是一种架构
2、分层模式是很多架构的继承
二、分层:
1、将软件的架构组件进行分割在不同的层
2、在同一个层中的组件之间保持 ”内聚性“

三、三层模式:
1、表示层UI:展示给用户的界面,用户使用一个系统的所见所得。位于最外层,离用户最近,主要负责展示数据、接受用户输入的数据操作,一种交互式的操作界面。
2、业务逻辑BLL:对具体问题的操作,数据层的访问、操作,业务逻辑的处理。处于数据层、表示层中间,负责承上启下的作用,一种”松耦合“的结构。即扮演2个角色:对与数据库,它是“调用者”;对于表示层UI,它是“被调用者”,依赖与被依赖的关系。
3、数据访问层DAL:主要负责一做的些事务CRUD数据库的操作。也称为“持久化层”,其功能对数据库的访问。
特点:上层依赖下层,依赖关系不跨层。 上层调用下层得到结果,取决于下层的实现;不能直接访问数据层

Mvc设计模型与三层架构的更多相关文章
- 三层架构介绍和MVC设计模型介绍
springmvc是什么? Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层 进行职责解耦,基于请 ...
- MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- MVC项目实践,在三层架构下实现SportsStore-02,DbSession层、BLL层
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- MVC项目实践,在三层架构下实现SportsStore-04,实现分页
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- MVC项目实践,在三层架构下实现SportsStore-05,实现导航
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- MVC项目实践,在三层架构下实现SportsStore-06,实现购物车
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- MVC项目实践,在三层架构下实现SportsStore-07,实现订单提交
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- MVC项目实践,在三层架构下实现SportsStore,从类图看三层架构
在"MVC项目实践,在三层架构下实现SportsStore-02,DbSession层.BLL层"一文的评论中,博友浪花一朵朵建议用类图来理解本项目的三层架构.于是就有了本篇: I ...
- MVC项目实践,在三层架构下实现SportsStore-03,Ninject控制器工厂等
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
随机推荐
- 创建触发器在表中播入数据时ID自动增长
),age )) create or replace trigger gger_tt before insert on ttt for each row when (new.id is null) b ...
- Delphi2009下编译提示“无法找到“Excel_TLB”
这是没有安装Excel组件导致的,安装Excel组件的步骤是: 1.新建Package工程 2.在Office安装目录下找到文件XL5CHS32.OLB 我的Office版本是2007,XL5CHS3 ...
- 解决c#,wpf程序带环境安装包体积太大问题
在.net开发客户端的时候,一定会遇到用户没有安装.net环境的问题,特别是现在win7,win8,win10多系统并用的时间段,很多开发者使用的是4.5的目标环境,用户却是使用win7的系统,这样势 ...
- Jersey(1.19.1) - Life-cycle of Root Resource Classes
By default the life-cycle of root resource classes is per-request, namely that a new instance of a r ...
- Git - Eclipse 提交工程至 GitHub
1. 在 GitHub 新建一个工程 hello-world,repository 地址是 https://github.com/username/hello-world.git 2. 在 Eclip ...
- 第十一篇、RxSwift
三. 什么是函数式编程? 什么是函数式编程呢? 函数式编程其实是一种编程思想, 代码写出来只是它的表现形式. 在面向对象的编程思想中, 我们将要解决的一个个问题, 抽象成一个个类, 通过给类定义属性和 ...
- UIPickerView常见属性、常见方法(包括代理方法和数据源方法)的一些说明
一.UIPickerView 1.UIPickerView的常见属性 // 数据源(用来告诉UIPickerView有多少列多少行) @property(nonatomic,assign) id< ...
- OC6-网址分割
// // HtmlManger.h // OC6-网址分割 // // Created by qianfeng on 15/6/17. // Copyright (c) 2015年 qianfeng ...
- (转)mysql、sqlserver、oracle的默认事务的隔离级别
1.mysql的默认事务的隔离级别:可重复读取(repeatable read); 2.sqlserver的默认事务的隔离级别:提交读取(read committed); 3.oracle的默认事务的 ...
- (转)使用 Advanced Installer 打包 一键安装Web应用程序
使用 Advanced Installer 打包 一键安装Web应用程序 安装预览: 资源下载: 示例安装包 操作流程: 1.新建Asp.net Application. 2.设置 ...