Facade门面模式
开发中要和系统中的多个类打交道,还必须理解这多个类之间的关系,太麻烦了,可以直接把这些错综复杂关系的类用一个Facade门面封装起来,就是对外的一个门面,调用者只需要和这个门面打交道即可。
你的api接口需要调用后面的很多的service 而不同的service也有很多不同的业务逻辑或者先后顺序的组合,那么就可以通过facade 门面模式来进行统一的管理和维护了。
举例一个生活上的事情,去营业厅或者其他银行大厅办理业务,不但要存钱还要交水费,电话费。在这里用户的合法性验证,水费的缴费操作,电话费的缴费操作,都由银行完成,你不用考虑这水费是转账还是直接打款,还是电话费是转账还是打款。你只用针对这个银行窗口办理你的业务就好了。那么这个窗口就是一个门面。
Mediator调停者模式
开发中遇到多个类之间内部打交道。每个类之间都不要互相打交道了,都通过一个调停者来交互。
Facade与Mediator区别
Facade门面-Mediator调停者可以看作是同一种设计模式,但是facade是对外操作来使用的,对于层与界的概念来看。对外层或者外界来说用的叫facade模式,而同层同界的就叫mediator模式了。
最容易理解的Mediator模式实现的一个工具就是MQ,消息中间件。所有模块只用从MQ中获取消息就可以了。不用理会其他模块是怎么具体处理。这种就是Mediator模式了。
原文链接:https://blog.csdn.net/qq_35396093/article/details/103130040网友回复
腾讯混元模型广场里都是混元模型的垂直小模型,如何api调用?
为啥所有的照片分辨率提升工具都会修改照片上的图案细节?
js如何在浏览器中将webm视频的声音分离为单独音频?
微信小程序如何播放第三方域名url的mp4视频?
ai多模态大模型能实时识别视频中的手语为文字吗?
如何远程调试别人的chrome浏览器获取调试信息?
为啥js打开新网页window.open设置窗口宽高无效?
浏览器中js的navigator.mediaDevices.getDisplayMedia屏幕录像无法录制SpeechSynthesisUtterance产生的说话声音?
js中mediaRecorder如何录制window.speechSynthesis声音音频并下载?
python如何直接获取抖音短视频的音频文件url?