zoukankan      html  css  js  c++  java
  • 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();
        }
    }

    测试结果:

  • 相关阅读:
    当函数中传递的参数数量不定时,获取传递给函数的参数信息
    redis分页摘抄
    redis分页
    返回数组中指定的一列,将键值作为元素键名array_column
    PHP操作Redis常用技巧总结
    php面试中的经典问题
    php 依赖注入的实现
    10分钟快速理解依赖注入
    PHP 依赖注入,依赖反转 (IOC-DI)
    PHP控制反转(IOC)和依赖注入(DI)
  • 原文地址:https://www.cnblogs.com/zhengyuanyuan/p/10757302.html
Copyright © 2011-2022 走看看