• 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();
        }
    }

    测试结果:

  • 相关阅读:
    树四:遍历二叉树
    树三:创建二叉树
    树二:二叉树定义及性质
    树一:定义及存储
    排序七:归并排序
    排序六:快速排序
    排序五:希尔排序
    排序四:冒泡排序
    深入分析Linux内核链表
    179. Largest Number
  • 原文地址:https://www.cnblogs.com/zhengyuanyuan/p/10757302.html
Copyright © 2020-2023  润新知