041-MVC

MVC:架构模式

  1. jsp演变历史

    1. 早期只有servlet,只能使用response输出标签数据,非常麻烦
    2. 后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,有写html表,造成难于维护,难于分工协作
    3. 再后来,java的web开发,借鉴mvc开发模式,使得程序的设计更加合理性
  2. MVC:

    1. M:Model,模型。JavaBean
      • 完成具体的业务操作,如:查询数据库,封装对象
    2. V:View,视图。JSP
      • 展示数据
    3. C:Controller,控制器。Servlet
      • 获取用户的输入
      • 调用模型
      • 将数据交给视图进行展示
    • 优缺点:
      1. 优点:

        1. 耦合性低,方便维护,可以利于分工协作
        2. 重用性高
      2. 缺点:

        1. 使得项目架构变得复杂,对开发人员要求高

三层架构:架构

  1. 界面层(表示层):用户看的界面。用户可以通过界面上的组件和服务器进行交互。表示层负责接收用户请求、转发请求、显示数据等;
  2. 业务逻辑层:处理业务逻辑的。
  3. 数据访问层:操作数据存储文件。持久化业务对象。

三层架构,每层都有自己的套路(杨氏太极拳十八式,就是套路),套路就是模式,就是所谓的架构模式。

  • 表示层最常用的套路、模式就是MVC ,MVC就是表示层的一种架构模式。
  • 业务层的架构模式有事务脚本模式、领域模型模式、CQRS 等等(另一种说法是贫血、失血、充血、胀血…)。
  • 持久层的架构模式有入口模式、数据映射器模式等等。

一般来说,框架 > 架构模式> 设计模式 > 设计原则。

打个比方,Hibernate是一个持久层框架,是数据映射器模式的具体实现,实现时用到了工厂模式等很多设计模式,体现了什么依赖倒转原则、开闭原则、里氏替换原则等等设计原则。

AngularJS是一个客户端 MVC 框架,是 MVC架构模式的一种实现,实现时用到。。。。设计模式,体现了。。。。等设计原则。

Struts/http://ASP.NET MVC是表示层框架。。。。。


041-MVC
https://flepeng.github.io/021-Java-01-course-041-MVC/
作者
Lepeng
发布于
2020年2月2日
许可协议