外围网站怎么做河北项目网在建项目
- 作者: 五速梦信息网
- 时间: 2026年04月20日 08:19
当前位置: 首页 > news >正文
外围网站怎么做,河北项目网在建项目,资中移动网站建设,网站空间是不是服务器引言 中介者模式#xff08;Mediator Pattern#xff09;是一种行为设计模式#xff0c;它通过引入一个中介对象来封装对象之间的交互#xff0c;从而使对象不需要显式地相互引用#xff0c;从而降低了对象之间的耦合性。在金融业务中#xff0c;中介者模式常用于实现复…引言 中介者模式Mediator Pattern是一种行为设计模式它通过引入一个中介对象来封装对象之间的交互从而使对象不需要显式地相互引用从而降低了对象之间的耦合性。在金融业务中中介者模式常用于实现复杂的交易系统、消息传递系统等。本文将介绍中介者模式在金融业务中的使用并探讨其在Spring框架中的实现方式。 设计原理 中介者模式主要涉及以下几个角色 中介者Mediator定义一个接口用于与各同事对象通信。具体中介者Concrete Mediator实现中介者接口协调各同事对象之间的交互。同事类Colleague各同事类只知道中介者而不知道其他同事类从而通过中介者进行通信。 类图 下图展示了中介者模式的类图 #mermaid-svg-uoS6LsX8meHzQ3mf {font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-uoS6LsX8meHzQ3mf .error-icon{fill:#552222;}#mermaid-svg-uoS6LsX8meHzQ3mf .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-uoS6LsX8meHzQ3mf .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-uoS6LsX8meHzQ3mf .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-uoS6LsX8meHzQ3mf .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-uoS6LsX8meHzQ3mf .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-uoS6LsX8meHzQ3mf .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-uoS6LsX8meHzQ3mf .marker{fill:#333333;stroke:#333333;}#mermaid-svg-uoS6LsX8meHzQ3mf .marker.cross{stroke:#333333;}#mermaid-svg-uoS6LsX8meHzQ3mf svg{font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-uoS6LsX8meHzQ3mf g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-uoS6LsX8meHzQ3mf g.classGroup text .title{font-weight:bolder;}#mermaid-svg-uoS6LsX8meHzQ3mf .nodeLabel,#mermaid-svg-uoS6LsX8meHzQ3mf .edgeLabel{color:#131300;}#mermaid-svg-uoS6LsX8meHzQ3mf .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-uoS6LsX8meHzQ3mf .label text{fill:#131300;}#mermaid-svg-uoS6LsX8meHzQ3mf .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-uoS6LsX8meHzQ3mf .classTitle{font-weight:bolder;}#mermaid-svg-uoS6LsX8meHzQ3mf .node rect,#mermaid-svg-uoS6LsX8meHzQ3mf .node circle,#mermaid-svg-uoS6LsX8meHzQ3mf .node ellipse,#mermaid-svg-uoS6LsX8meHzQ3mf .node polygon,#mermaid-svg-uoS6LsX8meHzQ3mf .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-uoS6LsX8meHzQ3mf .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-uoS6LsX8meHzQ3mf g.clickable{cursor:pointer;}#mermaid-svg-uoS6LsX8meHzQ3mf g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-uoS6LsX8meHzQ3mf g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-uoS6LsX8meHzQ3mf .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-uoS6LsX8meHzQ3mf .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-uoS6LsX8meHzQ3mf .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-uoS6LsX8meHzQ3mf .dashed-line{stroke-dasharray:3;}#mermaid-svg-uoS6LsX8meHzQ3mf #compositionStart,#mermaid-svg-uoS6LsX8meHzQ3mf .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-uoS6LsX8meHzQ3mf #compositionEnd,#mermaid-svg-uoS6LsX8meHzQ3mf .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-uoS6LsX8meHzQ3mf #dependencyStart,#mermaid-svg-uoS6LsX8meHzQ3mf .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-uoS6LsX8meHzQ3mf #dependencyStart,#mermaid-svg-uoS6LsX8meHzQ3mf .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-uoS6LsX8meHzQ3mf #extensionStart,#mermaid-svg-uoS6LsX8meHzQ3mf .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-uoS6LsX8meHzQ3mf #extensionEnd,#mermaid-svg-uoS6LsX8meHzQ3mf .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-uoS6LsX8meHzQ3mf #aggregationStart,#mermaid-svg-uoS6LsX8meHzQ3mf .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-uoS6LsX8meHzQ3mf #aggregationEnd,#mermaid-svg-uoS6LsX8meHzQ3mf .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-uoS6LsX8meHzQ3mf .edgeTerminals{font-size:11px;}#mermaid-svg-uoS6LsX8meHzQ3mf :root{–mermaid-font-family:“trebuchet ms”,verdana,arial,sans-serif;} Mediator send(message: String, colleague: Colleague) ConcreteMediator - colleague1: Colleague1 - colleague2: Colleague2 send(message: String, colleague: Colleague) Colleague send(message: String) receive(message: String) Colleague1 send(message: String) receive(message: String) Colleague2 send(message: String) receive(message: String) 中介者模式在金融业务中的应用
- 交易系统 在金融交易系统中多个模块需要相互通信和协调例如订单管理、风控管理等。中介者模式可以用于实现这种模块间的解耦和协调。 // 中介者接口 public interface Mediator {void send(String message, Colleague colleague); }// 具体中介者类 public class ConcreteMediator implements Mediator {private Colleague1 colleague1;private Colleague2 colleague2;public void setColleague1(Colleague1 colleague1) {this.colleague1 colleague1;}public void setColleague2(Colleague2 colleague2) {this.colleague2 colleague2;}Overridepublic void send(String message, Colleague colleague) {if (colleague colleague1) {colleague2.receive(message);} else {colleague1.receive(message);}} }// 同事类 public abstract class Colleague {protected Mediator mediator;public Colleague(Mediator mediator) {this.mediator mediator;}public abstract void send(String message);public abstract void receive(String message); }// 具体同事类1 public class Colleague1 extends Colleague {public Colleague1(Mediator mediator) {super(mediator);}Overridepublic void send(String message) {System.out.println(Colleague1 sends message: message);mediator.send(message, this);}Overridepublic void receive(String message) {System.out.println(Colleague1 receives message: message);} }// 具体同事类2 public class Colleague2 extends Colleague {public Colleague2(Mediator mediator) {super(mediator);}Overridepublic void send(String message) {System.out.println(Colleague2 sends message: message);mediator.send(message, this);}Overridepublic void receive(String message) {System.out.println(Colleague2 receives message: message);} }// 客户端代码 public class MediatorPatternDemo {public static void main(String[] args) {ConcreteMediator mediator new ConcreteMediator();Colleague1 colleague1 new Colleague1(mediator);Colleague2 colleague2 new Colleague2(mediator);mediator.setColleague1(colleague1);mediator.setColleague2(colleague2);colleague1.send(Hi there!);colleague2.send(Hello!);} }中介者模式在Spring框架中的应用 Spring Integration Spring Integration是Spring框架的一个模块旨在简化系统集成通过消息传递实现模块间的松耦合。它利用中介者模式通过引入消息通道和消息网关来实现组件之间的通信。
- Spring Integration 配置示例 !– 定义消息通道 – int:channel idinputChannel/ int:channel idoutputChannel/!– 定义服务激活器 – int:service-activator input-channelinputChannel output-channeloutputChannel refmyService methodprocess/!– 定义消息处理器 – bean idmyService classcom.example.MyService/!– 定义消息网关 – int:gateway idmyGateway service-interfacecom.example.MyGateway default-request-channelinputChannel/2. Spring Integration 服务示例 public interface MyGateway {String sendMessage(String message); }public class MyService {public String process(String message) {System.out.println(Processing message: message);return Processed: message;} }// 客户端代码 public class SpringIntegrationDemo {public static void main(String[] args) {ApplicationContext context new ClassPathXmlApplicationContext(spring-integration-config.xml);MyGateway gateway context.getBean(MyGateway.class);String response gateway.sendMessage(Hello Spring Integration!);System.out.println(response);} }总结 中介者模式在金融业务中具有广泛的应用可以灵活地实现模块间的解耦和协调。在Spring框架中中介者模式通过Spring Integration得到了广泛应用使得系统更具灵活性和可扩展性。 参考文献 Refactoring Guru - Mediator PatternSpring Integration Documentation 互动与反馈 如果你觉得这篇文章对你有帮助请点赞、收藏并关注我以便获得更多优质内容如有疑问或建议欢迎在评论区留言我会及时回复。感谢阅读
- 上一篇: 外网专门做钙片的网站八年级信息技术网站建立怎么做
- 下一篇: 外行学习个人网站建设网站建设包含项目
相关文章
-
外网专门做钙片的网站八年级信息技术网站建立怎么做
外网专门做钙片的网站八年级信息技术网站建立怎么做
- 技术栈
- 2026年04月20日
-
外网浏览网站网站做适配多少钱
外网浏览网站网站做适配多少钱
- 技术栈
- 2026年04月20日
-
外网浏览网站淘宝躺平设计家官网
外网浏览网站淘宝躺平设计家官网
- 技术栈
- 2026年04月20日
-
外行学习个人网站建设网站建设包含项目
外行学习个人网站建设网站建设包含项目
- 技术栈
- 2026年04月20日
-
完整网站开发教程自己做的网站买域名多少钱
完整网站开发教程自己做的网站买域名多少钱
- 技术栈
- 2026年04月20日
-
完整网站模板小企业网站欣赏
完整网站模板小企业网站欣赏
- 技术栈
- 2026年04月20日
