Java设计模式:中介模式
  TEZNKK3IfmPf 2023年11月14日 76 0
public interface Mediator {
	void createMediator();
	void workAll();
}

//中介。
public class MyMediator implements Mediator {
	private User user1;
	private User user2;

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

	//中介带动类对象工作。
	@Override
	public void workAll() {
		user1.work();
		user2.work();
	}
}

public abstract class User {
	private Mediator mediator;

	public Mediator getMediator() {
		return mediator;
	}

	public User(Mediator mediator) {
		this.mediator = mediator;
	}

	public abstract void work();
}

public class User1 extends User {
	public User1(Mediator mediator) {
		super(mediator);
	}

	@Override
	public void work() {
		System.out.println("User1 work");
	}
}

public class User2 extends User{
	public User2(Mediator mediator) {
		super(mediator);
	}

	@Override  
    public void work() {  
        System.out.println("User2 work");  
    } 
}
public class Test {
	public static void main(String[] args) {
		try {
			Test test = new Test();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public Test() {
		//中介模式中,隐藏了不同类对象的,换言之,类对象的修改只需要对中介负责即可。
		Mediator mediator = new MyMediator();
		mediator.createMediator();
		mediator.workAll();
	}
}

输出:

User1 work
User2 work
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   24天前   51   0   0 java
  TEZNKK3IfmPf   2024年05月31日   55   0   0 java
TEZNKK3IfmPf