zoukankan      html  css  js  c++  java
  • java学习笔记-设计模式23(中介者模式)

    意图

      用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。

    public interface Mediator {  
        public void createMediator();  
        public void workAll();  
    }
    

      

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

      

    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 exe!");  
        }  
    } 
    

      

    public class User2 extends User {  
      
        public User2(Mediator mediator){  
            super(mediator);  
        }  
          
        @Override  
        public void work() {  
            System.out.println("user2 exe!");  
        }  
    }  
    

      

    public class Test {  
      
        public static void main(String[] args) {  
            Mediator mediator = new MyMediator();  
            mediator.createMediator();  
            mediator.workAll();  
        }  
    }  
    

      

      转自:http://blog.csdn.net/zhangerqing/article/details/8245537

  • 相关阅读:
    使用java.util.Properties类读写配置文件
    maven配置文件setting.xml字段注释
    使用Nexus搭建Maven代理仓库
    Memcached 内存管理详解
    Memcached常用命令及使用说明
    使用NTP协议服务器时间同步
    Eclipse打JAR包的使用
    Eclipse插件的各种安装方法
    Java中代理对象的使用小结
    tp5框架成功、失败提示模板修改
  • 原文地址:https://www.cnblogs.com/gxl00/p/5050853.html
Copyright © 2011-2022 走看看