中介者模式的作用:定义一个中介对象来简化原有对象之间的交互关系,降低系统中对象间的耦合度,使原有对象之间不必相互了解。
案例
Java web 开发中 MVC 模式(Model-View-Controller)就用到了中介者模式,Controller 就是 Model 和 View 的中介。
比如使用 Spring MVC 框架,定义一个用户信息的 Controller,可以获取用户登录信息的数据模型,返回到对应的 jsp view 进行渲染显示
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("loginRecords")
public ModelAndView getLoginRecords(ModelAndView mav){
Model model = userService.getCurrentUserLoginRecords(); //获取登录记录的数据模型
mav.addObject("model", model);
mav.setViewName("record.jsp");//返回到 jsp,在 jsp 中使用 model 数据渲染页面
return mav;
}
}
使用 Controller 就让 View 层的 jsp 与 Model 层解耦,避免了在 jsp 写代码去获取用户信息、登录信息等,jsp 对应 Controller 中的一个方法,获取各种数据。
【Java学习资源】整理推荐
- 中介者模式的实际应用
- 观察者模式在开源代码中的应用
- 职责链模式在开源代码中的应用
- 命令模式在开源代码中的应用
- 策略模式在开源代码中应用
- 模板方法模式在开源代码中应用
- 组合模式在开源代码中的应用
- 享元模式在开源代码中的应用
- 外观模式在开源代码中的应用
- 装饰器模式在开源代码中的应用
- 桥接模式在开源代码中的应用
- 适配器模式在开源代码中的应用
- 代理模式在开源代码中的应用
- 原型模式在开源代码中的应用
- 建造者模式在开源代码中的应用
- 工厂模式在开源代码中的应用
- 单例模式在开源代码中的应用
- 编码规范
- 设计模式
- 重构
- 设计原则
- 面向对象到底是什么
- 代码质量有哪些评判标准?
【Java面试题与答案】整理推荐