项目分层模型

MVC

M:Model          ——处理业务
V:View             ——用来显示
C:controller      ——控制分派

项目技术和整体安排

· 客户端-交互                                  · 前端
   -输入数据                                        -JSP,EL
   -查看响应                                        -CSS,DIV
· 服务器端-处理                               · 后端
   -接请求处理给响应                          -Servlet
   -尖现教据库查询操作                       -JDBC
   -尖现分层结构                               · 前后通信
   -实现面向接口编程                          -JSON
   -应用单元测试框架                        · 项目管理
· 数据库                                              -maven
   -MySQL

项目具体实现功能

· 用JSP做界面
   -输入d号
   -查看数据库中具体对应id号的容户信息
· 用servlet处理请求
   -接请求,调备,给响应
· 用service处理业务
   -接口和实现
· 用dao处理数据访问和作
   -接口和实现
· 用pojo封装数据
· 用junit和JSON做单元测试
· 用 DBUtils封装数据访问工具(方法)

项目的分层结构                                       

· 体系结构
   -客户端
   -应用程序服务器
      · Tomcat容器
         -项目子容器
   -数据库服务器
· 三层
   -表示层
   -中间层
   -数据访问层                                

 三层结构

 为什么需要三层结构

两层结构

                                                                                      当数据库或用户界面发生改变时需要重新开发整个系统

三层结构 

                                                                                 当数据库用户界面发生改变时不需要重新开发,只做筒单调整即可

 三层之间依赖关系

 表示层 view   →  业务逻辑层 bl/service   →  数据访问层 dao

三层之间的数据传递方向

DAO模式

· Goods类(其对象/实例)与 goods表对应
· 在库表里修改“某商品”这条记录(的各列),即修改 Goods类对象相应的属性
· 把该对象交给专门处理对象和数据库之间进行数据交换的类(如 GoodsDao)来处理
即可
· 以上这种模式,即为DAO模式

三层与MVC

二者使用范围不同:
· 三层可以应用于任何语言、任何技术的应用程序【实现概念级:为了明确逻辑】
· MVC只是为了解决BS应用程序视图层各部分的耦合关系【软件概念级:为了解耦】
互不冲突,可以同时存在,可根据情况使用其中一种

三层与MVC的不同

· 三层是整个应用程序架构,MVC是功能模块
   -三层是基于业务逻辑来分的,而MVC是基于页面来分的
      · MVC模式是一种复合设计模式,一种解决方案
      · 三层是种软件杂构,通过接口实现编程
   -三层模式是体集结构模式,MVC是设计模式
   -三层模式又可归于部模式,MVC可归于表示模式

常见控制器具体动作

1.读取请求,包括读取请求参数
2.协调到模型,完成业务
3.存储用户视图的数据模型信息【设置作用域对象属性值】
4.控制跳转/导航/转发

MVC里边的各个模块的职责

· mode模型:劳动者
   -接受controller的指令
   -只要告诉model做什么, controller要拿到什么
   -通过自身功能实现和DAO去处理这个事情
   -以最快最准确的方式完成controller给的任备
· modelcontroller就是一直和按制森和数据库DB交互的中间件
   -把数据库DB作一个生产资料的仓库,model从里边拿最原始的材料,经过适的加工成成品将这个半成品给控制器controller, controller对半成品做适当的封装交给一线的view进一步完善并表现到前端。
   -model果,代码量应会比较虎大
· model有很多种
   -数据封装
   -核算法、核心业务、美键操作
   -工具集
· view视图
   -通过自己擅长的丰富的表现形式展示给用户
   -还负责从用户那里拿到 controller想要获取到的数据
   -人机交互的重要工作就交给了view来完成了
   -责任也是相当重大的【长相很重要】
   -越来多样化
              页面级显示逻辑处理
              · EL表达式
              · jttl标签
              · 其它UI框架

MVC的思想

· mvc最大的优势是代码复用
· 面向对象编程里最重要的思想是封装、继承、多态,归根到底应该是为了解决大型软件编写
过程中代码维护和多人协作的难题
   -封装让接口规范统一
   -都面向接口编程
   -继承和多态解决了代码复用的问题
· 在此基础上演化出很多的设计模式,其实就是对封装、继承、多态的进一步抽象,对特定问
题形成较为合适的解决方案

项目实现过程中的思想

· 分层思想【微积分思想】
· 低耦合高内聚【事物本质和事物联系】
· 开闭原则
· 面向对象的编程思想【重用】
· 面向接口的思想【注重方法的统一】
· 由底向上的开发构建思路【千里之行】
· 测试驱动的流程【稳中求胜】
· 没有最好的技术,只有最佳的匹配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值