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

    测试结果:

  • 相关阅读:
    Git常用命令
    更新CentOS内核
    VMware虚拟机安装Ubuntu系统步骤详解
    Ubuntu安装遇到的问题
    IOT OS and OTA
    gcc c asm,C程序内嵌汇编
    makefile and make tips
    RTEMS目录梳理Sparc
    关于FreeRTOS的信号量、队列
    FreeRTOS任务源码分析以及程序堆栈与任务堆栈的关系
  • 原文地址:https://www.cnblogs.com/zhengyuanyuan/p/10757302.html
Copyright © 2011-2022 走看看