设为首页 加入收藏

TOP

MediatorPattern(中介者模式)
2017-10-13 10:40:02 】 浏览:759
Tags: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);
        }
        
    }
    
}

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇关于DDD的学习资料汇总 下一篇《游戏编程模式》(6)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目