zoukankan      html  css  js  c++  java
  • MVC三层架构

    一、MVC和三层架构

    1. 什么是MVC?

    (1)     MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计模式。

    (2)     Model:即模型。也就是JavaBean、domain、entity

    1. 封装数据的模型:实体
    2. 在java web中,把数据封装到一个实体类的对象中,传递对象
    3. domain:实体类。也叫entity

    a)       把属性设置为私有的

    b)       添加get、set方法

    c)        必须要有默认的无参构造方法

    d)       这个类必须是public公共的

    (3)     View:即视图。

    1. 也是就JSP、html、css、JavaScript代码。实现数据的展示
    2. 位置在WebContent文件夹下

    (4)     Controller:即控制器。也就是Servlet

    1. 接受用户请求,调用模型处理请求,选择视图(jsp)显示相应结果
    2. 什么是三层架构?

    3.  

    (1)     表现层(UI):

    a)       主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。

    b)       前端代码:view。用户和用户、界面的显示。jsp、js、html、css

    代码位置:WebContent

    c)        后台代码:control。用户控制跳转、调用业务逻辑层。

    Servlet、SpringMVC、Struts2。

    a)       包名:xxx.controller或xxx.servlet

    (2)     业务逻辑层(Service层或BLL)

    1. UI层和DAO层之间的桥梁。实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等等
    2. 包名:xxx.service
    3. 接口名:IXXXService
    4. 实现类名:XXXServiceImpl

    (3)     数据访问层(Dao层)

    1. 与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库
    2. 包名:xxx.dao
    3. 接口名:IXXXDao
    4. 实现类名:XXXDaoImpl

    (4)     三层之间的关联

    1. 生活中的三层架构
    2.  

    服务员:只管接待客人;

    厨师:只管做客人点的菜;

    采购员:只管按客人点菜的要求采购食材;

     

    他们各负其职,服务员不用了解厨师如何做菜,不用了解采购员如何采购食材;厨师不用知道服务员接待了哪位客人,不用知道采购员如何采购食材;同样,采购员不用知道服务员接待了哪位客人,不用知道厨师如何做菜。

    1. 为什么要使用三层架构?

    (1)     使用三层架构的目的:解耦!!!遵守的原则:高内聚、低耦合

    (2)     同样拿上面饭店的例子来讲:

    (3)     服务员(UI层)请假——另找服务员;厨师(BLL层)辞职——招聘另一个厨师;采购员(DAL)辞职——招聘另一个采购员;

    顾客反映:

    1、你们店服务态度不好——服务员的问题。开除服务员;

    2、你们店菜里有虫子——厨师的问题。换厨师;

    任何一层发生变化都不会影响到另外一层!!!

    1. 三层架构的表现形式?

     

     

  • 相关阅读:
    html websocket
    使用公钥进行远程登录主机/远程执行命令
    cropper.js 跨域问题
    利用PhantomJS生成网站截图
    Windows下的MySQL删除data文件夹后……
    快速设置环境变量
    压缩JS时生成source_map
    调试android chrome web page简明备忘
    CURL 简介【转载】
    一些同形异码字符
  • 原文地址:https://www.cnblogs.com/h-w-b/p/12509692.html
Copyright © 2011-2022 走看看