zoukankan      html  css  js  c++  java
  • MediatorPattern(中介者模式)

    /**
     * 中介者模式
     * @author TMAC-J
     * 研究了这么多设计模式,觉得无非就是几点:
     * 1.若两个类有耦合关系,设立一个中间类,处理两个类的关系,把两个类的耦合降低
     * 2.面向接口
     * 3.在设计时就应当想到如果以后有修改,不要去修改原有类,而要设计成能新添加类去做新功能的架构
     * 中介者模式用于两个相互通信的类,相当于一个中间层
     * 这里模拟A变量始终是B变量的10倍
     */
    public class MediatorPattern {
    
        interface IMediator{
            
            void aToB(AColleague a,AColleague b);
            
            void bToA(AColleague b,AColleague a);
            
        }
        
        abstract class  AColleague{
            
            private int variable;
            
            private IMediator mediator;
    
            public int getVariable() {
                return variable;
            }
    
            public IMediator getMediator() {
                return mediator;
            }
    
            public void setMediator(IMediator mediator) {
                this.mediator = mediator;
            }
            //这里可以写一个回调,当variable改变时,回调那个方法,我太懒就不写了
            public void setVariable(int variable) {
                this.variable = variable;
            }
            
        } 
        
        public class Mediator implements IMediator{
    
            @Override
            public void aToB(AColleague a, AColleague b) {
                b.setVariable(a.getVariable()*10);
            }
    
            @Override
            public void bToA(AColleague b, AColleague a) {
                a.setVariable(b.getVariable()*10);
            }
            
        }
        
    }
  • 相关阅读:
    lua 根据路径获取文件名
    python中的re模块
    正则表达式中的开头和结尾
    正则表达式匹配多个字符
    正则表达式中匹配单个字符
    正则表达式的作用
    gevent实现协程
    greenlet实现协程
    生成器的使用注意
    生成器实现斐波那契数列
  • 原文地址:https://www.cnblogs.com/yzjT-mac/p/6236279.html
Copyright © 2011-2022 走看看