java实现23种设计模式之中介者模式

中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。

package com.ceshi21;

public interface Mediator {
    public void createMediator();
    public void workAll();
}
package com.ceshi21;

public abstract class User {
    private Mediator mediator;
    
    public Mediator getMediator(){
        return mediator;
    }
    
    public User(Mediator mediator) {
        this.mediator = mediator;
    }

    public abstract void work();
}
package com.ceshi21;

public class User1 extends User{
    
    public User1(Mediator mediator){
        super(mediator);
    }
    
    @Override
    public void work() {
        System.out.println("user1 exe!");
    }
}
package com.ceshi21;

public class User2 extends User{

    public User2(Mediator mediator){
        super(mediator);
    }
    
    @Override
    public void work() {
        System.out.println("user2 exe!");
    }

}
package com.ceshi21;

public class MyMediator implements Mediator{

    private User user1;
    private User user2;
    
    public User getUser1() {
        return user1;
    }

    public User getUser2() {
        return user2;
    }

    @Override
    public void createMediator() {
        user1 = new User1(this);
        user2 = new User2(this);
    }

    @Override
    public void workAll() {
        user1.work();
        user2.work();
    }

}

主要是通过这个类进行关联

package com.ceshi21;

public class Test {
    public static void main(String[] args) {
        Mediator mediator = new MyMediator();
        mediator.createMediator();
        mediator.workAll();
    }
}

测试结果:

原文地址:https://www.cnblogs.com/zhengyuanyuan/p/10757302.html