一、分层结构
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. React16 新特性

    一.使用Error Boundary处理错误组件         React16之前:组件在运行期出错,会阻塞整个应用的渲染.   React16之后:引入新的错误处理机制——Error Bounda ...

  2. JavaWeb之搭建自己的MVC框架(二)

    1. 前言 在 JavaWeb之搭建自己的MVC框架(一) 中我们完成了URL到JAVA后台方法的最基本跳转.但是实际操作中会发现有一个不方便的地方,现在在com.mvc.controller包中只有 ...

  3. 基于图灵api的Python机器人

    一.注册图灵机器人 先注册并登录图灵机器人官网: 点击创建机器人 复制机器人的key 二.搭建Python机器人 Python版本:3.6 注意替换第三行代码的apikey import reques ...

  4. WebView的学习

    加载网页: 加载URL(网络或者本地assets文件下的html文件) 加载html代码 Native和JavaScript相互调用(利于混合开发) 1.加载网络URL webview.loadUrl ...

  5. HTML5 可缩放矢量图形(2)—SVG基础

    参考文档——权威 SVG常识 渲染顺序——后来居上:越后面的元素越可见 单位——可以指定,也可以不指定,默认px,其他:em.%.cm.mm... SVG画布——绘制图像的区域,无限大 SVG视窗—— ...

  6. HDU 2795 Billboard 线段树活用

    题目大意:在h*w 高乘宽这样大小的 board上要贴广告,每个广告的高均为1,wi值就是数据另给,每组数组给了一个board和多个广告,要你求出,每个广告应该贴在board的哪一行,如果实在贴不上, ...

  7. 不重复,distinct,row_number() over(partition by)

    1.查询不重复的字段 select distinct name from table 2.查询某个字段不重复的,所有内容 sql根据某一个字段重复只取第一条数据 select s.* from ( s ...

  8. vi粘贴代码后格式混乱的问题

    最近在远程终端使用vi发现从其他地方复制代码的后,粘贴到vi里面出现格式变乱的问题. 主要是因为终端通常无法区分输入是来自用户输入还是来自粘贴,所以终端也不能通知 vim 输入来自何处.在 vim 里 ...

  9. poj 3013 最短路SPFA算法

    POJ_3013_最短路 Big Christmas Tree Time Limit: 3000MS   Memory Limit: 131072K Total Submissions: 23630 ...

  10. VUE,index key v-for

    列表渲染语法  v-forv-for 循环对象 <article v-for="(item, key, index) of info">{{item}} {{key}} ...