Skip to content

Latest commit

 

History

History
70 lines (39 loc) · 1.45 KB

web表现模式.md

File metadata and controls

70 lines (39 loc) · 1.45 KB

web表现模式

MVC

把用户界面的交互拆分到三个角色里

模型:表示领域信息的对象

视图:模型的显式

控制器:协调模型与视图

  • 表现与模型关注点不同,表现侧重于可视化界面,而模型侧重于业务逻辑
  • 同样的模型可以有不同的表现
  • 不可见对象更容易测试

当系统有了一些不可见的逻辑时,就需要注意实现分离

页面控制器

为特定页面或动作处理请求的对象

202001201433

一个控制器绑定在一个请求上

基本责任:

  • 解码数据
  • 处理数据
  • 调用视图

servlet与jsp

前端控制器

处理所有请求的控制器,执行一些通用的行为,并且行为可以在运行时动态修改

每次请求都会产生新对象,可以避免线程安全问题

模板视图

通过在HTML标记一些数据,来让处理器渲染

模板引擎

  • 辅助对象
  • 条件显示
  • 迭代显示

缺点

  • 很容易被插入复杂的逻辑
  • 难以测试

转换视图

转换视图把领域数据作为输入,HTML作为输出

与模板视图的区别是转换视图侧重于数据的输入,而模板视图更侧重于输出

两步视图

类似于编译,把业务数据转换为一种中间表示,再从中间表示渲染视图

两步视图的价值来源于分离了第一阶段与第二阶段,使改变更加容易

应用控制器

一个处理程序流的集中控制点