type
status
date
slug
summary
tags
category
icon
password
AI summary

一、定义

notion image
中介模式:定义了一个中介对象封装一系列对象之前的关系,使原有对象之间的耦合松散,且可以独立地改变他们之间的交互,中介者模式又叫做调停模式
中介者一般是多对一,桥接一般是多对多,代理一般是一对一

二、示例:

模拟场景: 1、车辆行驶在交通道路上,交警就相当于一个中介,他负责调停,指导各个车辆的行驶规则。假设没有这个中介(交警),那道路上就是各个车辆相互指挥,最后落得一团糟。
2、年轻的单身伙伴们,需要寻找自己心仪的对象,婚介所就是典型的中介。婚介所里面有很多单身青年的信息,它通过信息比对,做出匹配分析,帮忙介绍对象。假设没有这个中介,那就需要每个人自己去找。

中介者模式设计

单身青年,属性名字,性别,年龄,找到的婚介所。
中介接口
只要性别不同,即可匹配
测试:ApiTest

UML关系图

notion image
总结: 以上通过中介者模式的设计思想我们⼿写了
⼀个ORM框架
,隐去了对数据库操作的
复杂度
,让外部的调⽤⽅可以⾮常简单的进⾏操作数据库。这也是我们平常使⽤的 Mybatis 的原型,在我们⽇常的开发使⽤中,只需要
按照配置即
可⾮常简单的操作数据库。
除了以上这种组件模式的开发外,还有服务接⼝的包装也可以使⽤中介者模式来实现。⽐如你们公司有很多的奖品接⼝需要在营销活动中对接,那么可以把这些奖品接⼝统⼀收到中台开发⼀个奖品中⼼,对外提供服务。这样就不需要每⼀个需要对接奖品的接⼝,都去找具体的提供者,⽽是找中台服务即可。
在上述的实现和测试使⽤中可以看到,这种模式的设计满⾜了; 单⼀职责和开闭原则 ,也就符合了迪⽶特原则 ,即越少⼈知道越好。外部的⼈只需要按照需求进⾏调⽤,不需要知道具体的是如何实现的,复杂的⼀⾯已经有组件合作服务平台处理。
 
JAVA【设计模式】命令模式JAVA【设计模式】状态模式