设计模式——中介者模式
2021/9/30 23:11:11
本文主要是介绍设计模式——中介者模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
很常用的一种设计模式,比如所谓的MVP架构就是典型的中介者模式
MVC 框架时代, M V C 三者之间皆可以相互操作,导致后期维护的难度升高,之后就引入了MVP架构来进行解耦,本质就是使用中介者模式的思想。
这里就不多做解释了,大家应该都用过MVP吧
还是举个例子:
现在有n个买家和n个卖家;他们如果相互交流就会比较麻烦,比较乱,我们引入一个中介(对,就像现实的中间商)来对接两头就ok了。
定义买方中介接口
public interface SolderMediary { void sendMessageToBuyer(String msg); }
定义卖方中介接口
public interface BuyerMediary { void sendMessageToSolder(String msg); }
定义中介者
public class Market implements SolderMediary, BuyerMediary { private Buyer buyer; private Solder solder; public void setBuyer(Buyer buyer) { this.buyer = buyer; } public void setSolder(Solder solder) { this.solder = solder; } @Override public void sendMessageToSolder(String msg) { super.sendMessage(msg); solder.handleMsg(msg); } @Override public void sendMessageToBuyer(String msg) { super.sendMessage(msg); buyer.handleMsg(msg) } }
定义卖方类
public class Solder { BuyerMediary mediary; public Solder(BuyerMediary mediary) { this.mediary = mediary; } void sendMessage(String message) { this.mediary.sendMessageToBuyer(message); } }
定义买方类
public class Buyer { SolderMediary mediary; public Buyer(SolderMediary mediary) { this.mediary = mediary; } @Override void sendMessage(String message) { super.sendMessage(message); this.mediary.sendMessageToSolder(message); } }
这篇关于设计模式——中介者模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28微服务架构中API版本控制的实践
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南