type
status
date
slug
summary
tags
category
icon
password
AI summary
一、定义
中介模式:定义了一个中介对象来封装一系列对象之前的关系,使原有对象之间的耦合松散,且可以独立地改变他们之间的交互,中介者模式又叫做调停模式
中介者一般是多对一,桥接一般是多对多,代理一般是一对一
二、示例:
模拟场景:
1、车辆行驶在交通道路上,交警就相当于一个中介,他负责调停,指导各个车辆的行驶规则。假设没有这个中介(交警),那道路上就是各个车辆相互指挥,最后落得一团糟。
2、年轻的单身伙伴们,需要寻找自己心仪的对象,婚介所就是典型的中介。婚介所里面有很多单身青年的信息,它通过信息比对,做出匹配分析,帮忙介绍对象。假设没有这个中介,那就需要每个人自己去找。
中介者模式设计
单身青年,属性名字,性别,年龄,找到的婚介所。
中介接口
只要性别不同,即可匹配
测试:
ApiTest
UML关系图
总结:
以上通过中介者模式的设计思想我们⼿写了
⼀个ORM框架
,隐去了对数据库操作的
复杂度
,让外部的调⽤⽅可以⾮常简单的进⾏操作数据库。这也是我们平常使⽤的 Mybatis 的原型,在我们⽇常的开发使⽤中,只需要
按照配置即
可⾮常简单的操作数据库。
除了以上这种组件模式的开发外,还有服务接⼝的包装也可以使⽤中介者模式来实现。⽐如你们公司有很多的奖品接⼝需要在营销活动中对接,那么可以把这些奖品接⼝统⼀收到中台开发⼀个奖品中⼼,对外提供服务。这样就不需要每⼀个需要对接奖品的接⼝,都去找具体的提供者,⽽是找中台服务即可。
在上述的实现和测试使⽤中可以看到,这种模式的设计满⾜了; 单⼀职责和开闭原则 ,也就符合了迪⽶特原则 ,即越少⼈知道越好。外部的⼈只需要按照需求进⾏调⽤,不需要知道具体的是如何实现的,复杂的⼀⾯已经有组件合作服务平台处理。
- 作者:IT小舟
- 链接:https://codegym.top/article/JAVA%E3%80%90%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E3%80%91%E4%B8%AD%E4%BB%8B%E6%A8%A1%E5%BC%8F
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。