大话设计模式 中介者模式
2013-05-03 15:27
253 查看
package org.ustc.mediator; public interface UnitedNation { public void declareMessage(Country c,String message); }
package org.ustc.mediator; public class Anlihui implements UnitedNation{ private Country usa; private Country nkorean; public Country getUsa() { return usa; } public void setUsa(Country usa) { this.usa = usa; } public Country getNkorean() { return nkorean; } public void setNkorean(Country nkorean) { this.nkorean = nkorean; } @Override public void declareMessage(Country c, String message) { // TODO Auto-generated method stub if(c==this.usa) nkorean.getMessage(message); else usa.getMessage(message); } }
package org.ustc.mediator; public abstract class Country { protected String name; protected UnitedNation anlihui; public Country(String name){ this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public UnitedNation getAnlihui() { return anlihui; } public void setAnlihui(UnitedNation anlihui) { this.anlihui = anlihui; } public abstract void sendMessage(String message); public abstract void getMessage(String message); }
package org.ustc.mediator; public class NorthKorean extends Country{ public NorthKorean(String name) { super(name); // TODO Auto-generated constructor stub } @Override public void sendMessage(String message) { // TODO Auto-generated method stub anlihui.declareMessage(this, message); } @Override public void getMessage(String msg) { // TODO Auto-generated method stub System.out.println(this.name+"获得消息:"+msg); } }
package org.ustc.mediator; public class USA extends Country { public USA(String name) { super(name); // TODO Auto-generated constructor stub } @Override public void sendMessage(String message) { // TODO Auto-generated method stub anlihui.declareMessage(this, message); } @Override public void getMessage(String msg) { // TODO Auto-generated method stub System.out.println(this.name+"获得消息:"+msg); } }
package org.ustc.mediator; public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Country usa = new USA("美国"); Country korean = new NorthKorean("朝鲜"); Anlihui anlihu = new Anlihui(); usa.setAnlihui(anlihu); korean.setAnlihui(anlihu); anlihu.setNkorean(korean); anlihu.setUsa(usa); usa.sendMessage("不准研究和武器,否则发动战争"); korean.sendMessage("主体思想万岁,不怕侵略"); } }
相关文章推荐
- 大话设计模式二十五:中介者模式(mediator)
- 大话设计模式(五) 中介者模式 享元模式 解释器模式 访问者模式(完结附源码)
- 大话设计模式-中介者模式
- 《大话设计模式》java实现之中介者模式
- 大话设计模式C++实现-第25章-中介者模式
- 《大话设计模式》——学习笔记之"行为型模式"(观察者&模板方法&命令&状态&职责链&解释器&中介者&访问者&策略&备忘录&迭代器)
- 大话设计模式-----(十)职责链模式、中介者模式
- 大话设计模式—中介者模式
- 中介者模式 -- 大话设计模式
- 大话设计模式之中介者模式
- 大话设计模式--中介者模式
- 大话设计模式--第25章 世界需要和平—中介者模式
- 大话设计模式之中介者模式
- 《大话设计模式》--世界需要和平--中介者模式<Mediator>(25)
- 笔记-大话设计模式-25 中介者模式
- 大话设计模式之中介者模式
- 大话设计模式-中介者模式学习总结
- 大话设计模式_中介者模式
- 大话设计模式笔记 职责链模式 中介者模式