码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-04-23 17:45:10      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:ace   his   ring   代码   dia   处理   get   java实现   多个   

中介者模式(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();
    }
}

测试结果:

技术图片

 

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

标签:ace   his   ring   代码   dia   处理   get   java实现   多个   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!