可以上传数据的网站开发,昭通做网站公司,网络工程专业主要学什么,一般网站建设费用以前我们看过迭代器模式。 中介者模式在实现目标上有很大的不同。 它是行为模式之一#xff0c;其目的是改变对象之间的通信方式。 中介器将代替对象之间的直接通信#xff0c;而不是直接相互通信。 例如#xff0c;想象一下金融交易的场景。 您确实想交易和购买#xff… 以前我们看过迭代器模式。 中介者模式在实现目标上有很大的不同。 它是行为模式之一其目的是改变对象之间的通信方式。 中介器将代替对象之间的直接通信而不是直接相互通信。 例如想象一下金融交易的场景。 您确实想交易和购买但您不直接从提出报价的那一方购买。 相反交换在中间以便您进行交易。 人们想买卖。 交换将对此提供便利。 您有订单对象。 package com.gkatzioura.design.behavioural.mediator;public class Order {private String stock;private Integer quantity;private Double price;public String getStock() {return stock;}public void setStock(String stock) {this.stock stock;}public Integer getQuantity() {return quantity;}public void setQuantity(Integer quantity) {this.quantity quantity;}public Double getPrice() {return price;}public void setPrice(Double price) {this.price price;}} 下一个对象是出售股票的金融实体。 package com.gkatzioura.design.behavioural.mediator;public class FinancialEntity {public boolean sell(Order order) {/*** Supposing the sale was successful return true*/return true;}} 然后我们创建交换对象。 我们不会进一步探讨佣金问题但可以想象事情会变得更加复杂。 交流实际上是我们的调解人。 package com.gkatzioura.design.behavioural.mediator;public class Exchange {private FinancialEntity financialEntity;public Exchange(FinancialEntity financialEntity) {this.financialEntity financialEntity;}public void serve(Order order) {/*** Choose the financial entity suitable for the order*/financialEntity.sell(order);}} 最后一步是创建交易者对象。 package com.gkatzioura.design.behavioural.mediator;public class Trader {private Exchange exchange;public Trader(Exchange exchange) {this.exchange exchange;}public void buy(String stock,Integer quantity,Double price) {Order order new Order();order.setStock(stock);order.setQuantity(quantity);order.setPrice(price);exchange.serve(order);}} 如您所见交易者对象没有直接与提供股票的金融实体进行交互。 让我们将它们放到一个主类中。 package com.gkatzioura.design.behavioural.mediator;public class Mediator {public static void main(String[] args) {final FinancialEntity financialEntity new FinancialEntity();final Exchange exchange new Exchange(financialEntity);Trader trader new Trader(exchange);trader.buy(stock_a,2,32.2d);}
} 就是这样您仅将调解器模式用于交换应用程序 您也可以在github上找到源代码。 翻译自: https://www.javacodegeeks.com/2018/11/behavioural-design-patterns-mediator.html