MVC顾名思义分为三层:

M:Model层   Model层中  包含 DAO层和Javabean层;

V:view 意为视图层也叫表示层,也可以直接理解为是JSP,用于前端显示;

C:  ‘控制层’  包含ctroller层,和service层;

接下来,进行具体的理解(笔者个人理解)M,V,C,三个层次下面的各个层次。

1.首先了解,‘控制层’下的ctroller 层 和service层

ctroller层:控制层,主要实现与视图层的交互,调用service层的接口来控制业务流程。

service层:业务层,调用DAO层的接口,负责给controller层提供接口,(建立在DAO层之上,controller层之下)   首先设计自己的接口,再设计其实现类,负责业务模块的逻辑应用设计。

2.再讲一下,Model层下的DAO层和Javabean层

DAO层:数据访问层,用来操作数据库的层次,比如,连接,增删改查等操作,这个层次和Javabean层次是一一对应的。该层次也是先设计自己的接口,一般是一个表对应一个接口,然后再设计接口相对应的实现类,一般操作,增删改查这些步骤很是相似,可以设计个接口,再用一个公共类进行实现该接口。

Javabean层:里面的类是用来和DAO层一一对应,用来操作数据库,我的理解是javabean更多的是一种规范,就是一个Java对象可以包含一组set和get方法。该层通常也写成pojo(简单的Java对象,实际就是普通的Javabean)层和entity(实体bean)层。该层次下的一个类对应数据库中的一个表单

MVC实现的过程:  表示层(view)调用控制层(controller),控制层调用业务层(service),业务层调用数据访问层(DAO);

以下是笔者自己写的一个MVC关系逻辑,因为手机像素太高,上传到电脑上来,显示太大了,下到手机下来看就会正常显示的,因为笔者也是最近学的MVC,云里雾里的感觉,所以就花了几个小时,自己整理的,不足之处,欢迎指正。

MVC个层次之间的联系的更多相关文章

  1. .NET、C#和ASP.NET,ASP.NET MVC 四者之间的区别

    经常,会有一些人搞不清楚.NET和c#和ASP.NET这三者之间的关系,她们都是什么呢?他们之间有什么关系呢?总结一下 首先:什么是.NET? .NET是微软公司下的一个开发平台,.NET核心就是.N ...

  2. MVC中Action之间传值

    一  MVCAction之间的传值 之前一直觉得关于MVC里面的传值,只能从<视图—>Action>,和<Actoin->视图>但是今天在项目里面需要实现将几个视图 ...

  3. mvc 三个 之间 肮脏的交易

    就当个小零食一样写. MVC 是 Model-View-Controller 的缩写,Model代表的是应用的业务逻辑(通过 JavaBean,EJB 组件实现),View 是应用的表示层(由 JSP ...

  4. .NET、C#和ASP.NET、ASP.NET MVC四者之间的区别

    什么是.NET? .NET是微软公司下的一个开发平台,.NET核心就是.NET Framwork(.NET框架)是.NET程序开发和运行的环境,在这个平台下可以用不同的语言进行开发,因为.NET是跨语 ...

  5. MVC与MVVM之间在IOS中的区别

    作为一个iOS开发者,我不止一次听到我的一些开发者朋友跟我说我写的iOS代码看起来好舒服,很整洁,为什么咱们iOS开发的相当一大部分应用软件都给人以美的享受,究竟是什么使得iOS上的应用可以如此漂亮? ...

  6. ASP.NET MVC controller 之间传JS值

    在ASP.NET MVC中有东西叫TempData,它的类型是TempDataDictionary,它与ViewData以及ViewBag的不同之处在于 它的内部是使用session来保存信息的,可以 ...

  7. PCB MVC启动顺序与各层之间数据传递对象关系

    准备着手基于MVC模式写一套Web端流程指示查看,先着手开发WebAPI打通数据接口,后续可扩展手机端 这里将MVC基本关系整理如下: 一.MVC启动顺序 二.MVC各层之间数据传递对象关系

  8. .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整-控制反转和依赖注入的使用

    再次调整项目架构是因为和群友dezhou的一次聊天,我原来的想法是项目尽量做简单点别搞太复杂了,仅使用了DbContext的注入,其他的也没有写接口耦合度很高.和dezhou聊过之后我仔细考虑了一下, ...

  9. ASP.NET Core 中文文档 第四章 MVC(4.2)控制器操作的路由

    原文:Routing to Controller Actions 作者:Ryan Nowak.Rick Anderson 翻译:娄宇(Lyrics) 校对:何镇汐.姚阿勇(Dr.Yao) ASP.NE ...

随机推荐

  1. BJFU 1549 ——Candy——————【想法题】

    Candy 时间限制(C/C++):1000MS/3000MS          运行内存限制:65536KByte总提交:40            测试通过:20 描述 There are N c ...

  2. 个人MySQL股票数据库的建立日记

    #!/usr/bin/python# -*- coding: UTF-8 -*- import tushare as tsfrom sqlalchemy import create_engine co ...

  3. mysql 字符串转换呈毫秒值

    SELECT CEIL((UNIX_TIMESTAMP('2011-05-31 23:59:59') - UNIX_TIMESTAMP('2011-05-31 00:59:59'))/1000/60/ ...

  4. 有关ie9 以下不支持placeholder属性以及获得焦点placeholder的移除

    (一)placeholder 属性起到提示客户输入信息作用 (二)ie9以下出问题了 placeholder不支持 (三)解决办法 先贴html 加上jquery代码就可以了 关于表单获取焦点,chr ...

  5. Myeclipse中进行JUnit单元测试

    最近学习了在myeclipse中进行单元测试,写点东西总结总结. JUnit单元测试: 测试对象为一个类中的方法. juint不是javase中的部分,所以必须导入jar包,但是myeclipse自带 ...

  6. dwr2.0版本的demo

        谈起DWR,这个东西在上学的时候接触过,但工作之后就再也没有用过.       对DWR的印象是不手写AJAX,使用JavaScript调用java后台的代码,就如同调用前台代码一样.     ...

  7. Swing入门学习

    工作以来,一直都是基于java web方向的开发,并没有java方向GUI相关的开发经验,不过好在之前用过winform开发.有了基础的套路,想来搞一下Swing也没有什么压力!到网上搜了一下相关的学 ...

  8. VC6.0静态编译注意事项

    选择静态编译(工程->常规->Microsoft基础类->使用MFC作为静态链接库)的时候,会报错:MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: ...

  9. C#设计模式之代理模式(三)

    15.4 远程代理   远程代理(Remote Proxy)是一种常用的代理模式,它使得客户端程序可以访问在远程主机上的对象,远程主机可能具有更好的计算性能与处理速度,可以快速响应并处理客户端的请求. ...

  10. sqlserver 带输出参数的存储过程

    --创建存储过程create procedure proc_stu@sname varchar(20),@pwd varchar(50),@flag bit outputasif exists(sel ...