一、分层结构
1.所谓分层结构。把不同的功能代码封装成类,把相同功能的类封装在一个个的包中,也叫层。功能归类如下:
实体类:
封装数据,是数据的载体,在层与层之间进行传递,数据也就传递了。比如说要传递学生信息,把学生信息封装成一个Student对象,传递到其它的类中。如果有多个学生对象,则再次封装成集合,进行传递。我们把所有的实体类放在一个包中(层),层的命名通常用entity或model。数据库中有多少表,则程序中就有多少实体类。实体类的命名与表名一致,实体类中的属性名与表中的字段名一致。
持久化类:
这个层中的类与数据库进行交互,也就是数据持久化,但凡与数据库交互的代码都在这个层的类中,这个层的命名dao(database access obejct),层中的类的命名是:表名+Dao。通常数据库中有多少表,就有多少持久化类。
业务类:
业务类用于处理业务逻辑的代码。这个层的命名 service或 biz。类的命名:表名+Service。
Jsp页面:
表示层,用于呈现数据或收集数据。Servlet 类也属于表示层,它的作用就接收客户端的请求,并对请求进行分发,处理,再响应给客户端。命名:表名+Servlet

工具类:
在开发中,还会有一个工具类,这些工具类通常放一个util包中。(字符串的处理工具类,与数据库连接的工具,密码加密的工具类)
分层结构的开发如果要加功能,只需要在各层的类中添加方法就可以了,符合软件的开发
原则:开闭原则。
开表示添加代码的门是打开的,更改代码的门是关闭的。
分层结构的项目的缺陷是:代码增加了。
优点是:类与之间实现解耦,有利于合作开发,有利于后期维护,扩展。
层与层之间的访问关系:
web->Servlet->Service->dao->数据库 =>dao=>Service=>Servlet=>jsp
项目结构图:

开发过程中代码编写的顺序:
0.添加数据库表
1.添加实体类。
2.添加持久化层接口
3.添加持久化接口实现类
4.添加业务层接口
5.添加业务层接口实现类
6.添加Servlet
7.添加jsp 页面.
二、MVC模式
MVC是一种软件结构开发的一种思想,注意,不是软件开发的设计模式。
软件开发设计有23种(单例,简单工厂,抽象工厂,观察者,桥接…)。
MVC 思想在上个世纪70年代就提出了。SpringMVC ,Struts2…
M: model 数据的业务模型。
C: controller 控制器,对请求进行处理。
V: view 视图,数据的显示或收集。
MVC 的项目结构与分层结构非常接近,只是在把各层的划分进行了细微的更改。

MVC的思想与分层结构的思想是一致的。
优点是:解耦,分工合作,维护扩展。
在开发中,如果是C/S项目,我们用分层结构处理,MVC只能用于B/S结构的项目。

分层结构与MVC模式的更多相关文章

  1. Web开发的分层结构与MVC模式

    1.分层结构 所谓分层结构.把不同的功能代码封装成类,把相同功能的类封装在一个个的包中,也叫层.功能归类如下: 实体类: 封装数据,是数据的载体,在层与层之间进行传递,数据也就传递了.比如说要传递学生 ...

  2. 04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

     1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mv ...

  3. 编码风格:Mvc模式下SSM环境,代码分层管理

    本文源码:GitHub·点这里 || GitEE·点这里 一.分层策略 MVC模式与代码分层策略,MVC全名是ModelViewController即模型-视图-控制器,作为一种软件设计典范,用一种业 ...

  4. 将数据处理逻辑集中到一处进行管理,逐步实现真正有效的 MVC 分层结构

    将数据处理逻辑集中到一处进行管理,逐步实现真正有效的 MVC 分层结构.

  5. 浅析MVC模式与三层架构的区别01

    三层架构和MVC是有明显区别的,MVC应该是展现模式(三个加起来以后才是三层架构中的UI层)三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI ...

  6. MVC模式与三层架构的区别

    之前总是混淆MVC表现模式和三层架构模式,为此记录下. 三层架构和MVC是有明显区别的,MVC应该是展现模式(三个加起来以后才是三层架构中的UI层) 三层架构(3-tier application) ...

  7. 二十七、EFW框架BS系统开发中的MVC模式探讨

    回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.3:http://pan.baidu.com/s/1c0dADO0 EFW框架实例源代码下载:http://p ...

  8. MVC模式在游戏开发的应用

    原地址: http://www.cocoachina.com/gamedev/2012/1129/5212.html MVC是三个单词的缩写,分别为:模型(Model).视图(View)和控制Cont ...

  9. MVC模式已死

    MVC模式:Model模型 View试图 Control控制器,是目前主流模式,被当作服务器软件入门基本模式学习和掌握,主流框架Struts 1/2 JSF Wicket基本都顺理成章支持MVC模式. ...

随机推荐

  1. 卷积神经网络应用于tensorflow手写数字识别(第三版)

    import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_dat ...

  2. MySQL-半同步复制原理实践

    参考文档: http://mysql.taobao.org/monthly/2017/04/01/ 阿里内核月报半同步复制的数据一致性 https://www.cnblogs.com/ivictor/ ...

  3. 用Python在00:00给微信好友发元旦祝福语

    2019年的元旦即将来临,这里用Python撸一串简单的代码来实现定点给微信里的所有小伙伴发祝福语 环境说明 Python版本: 不限 第三方库: itchat, schedule 注:所有祝福语来源 ...

  4. Linux-课后练习(第二章命令)20200217-1

  5. 项目进度02-Day3

    ①今天做了什么? 数据库数据的重置.之前的用户类字段的补充.简单的平台信息查询 ②明天要做什么?   分类浏览和综合查询功能. ③遇到了什么问题? 出现问题:Parameter index out o ...

  6. jQuery实现轮播图--入门

    jQuery是一个前台的框架. 主要函数: setInterval 语法:setInterval(code,millisec[,"lang"]) cdoe:需要执行的代码或者要调用 ...

  7. markdown使用介绍

    一.标题,前面加#,加一个 一级标题,两个二级标题,以此类推. 一级标题 二级标题 三级标题

  8. idea拉取git项目并创建为maven项目(新创建github项目)

    0 环境 系统环境:win10 编辑器:idea 1 正文 1 clone项目 跟着提示yes 下一步 2 在根节点添加pom.xml(maven) <?xml version="1. ...

  9. JAVA课程设计——俄罗斯方块

    0.负责模块为可视化界面,技术栈为 (1)异常处理 (2)多线程 (3)文件存储 (4)Java swing 1.登陆界面 我的代码 import java.awt.Color; import jav ...

  10. 斐波那契数列 yield 和list 生成

    def fab_demo4(max): a,n,b = 0,0,1 while n < max: yield b # 生成器走到这一步返回b,需要再次调用才能继续执行 a,b = b,a+b n ...