Java教程

设计模式——中介者模式

本文主要是介绍设计模式——中介者模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

很常用的一种设计模式,比如所谓的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);
    }
}

这篇关于设计模式——中介者模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!