设计模式 - 行为型模式 - 中介者模式
来源:互联网 发布:湘北vs山王数据 编辑:程序博客网 时间:2024/06/06 09:01
//抽象中介者abstract class Mediator { public abstract void componentChanged(Component c);}//具体中介者class ConcreteMediator extends Mediator { //维持对各个同事对象的引用 public Button addButton; public List list; public TextBox userNameTextBox; public ComboBox cb; //封装同事对象之间的交互 public void componentChanged(Component c) { //单击按钮 if (c == addButton) { System.out.println("--单击增加按钮--"); list.update(); cb.update(); userNameTextBox.update(); } //从列表框选择客户 else if (c == list) { System.out.println("--从列表框选择客户--"); cb.select(); userNameTextBox.setText(); } //从组合框选择客户 else if (c == cb) { System.out.println("--从组合框选择客户--"); cb.select(); userNameTextBox.setText(); } }}//抽象组件类:抽象同事类abstract class Component { protected Mediator mediator; public void setMediator(Mediator mediator) { this.mediator = mediator; } //转发调用 public void changed() { mediator.componentChanged(this); } public abstract void update();}//按钮类:具体同事类class Button extends Component { public void update() { //按钮不产生交互 }}//列表框类:具体同事类class List extends Component { public void update() { System.out.println("列表框增加一项:张无忌。"); } public void select() { System.out.println("列表框选中项:小龙女。"); }}//组合框类:具体同事类class ComboBox extends Component { public void update() { System.out.println("组合框增加一项:张无忌。"); } public void select() { System.out.println("组合框选中项:小龙女。"); }}//文本框类:具体同事类class TextBox extends Component { public void update() { System.out.println("客户信息增加成功后文本框清空。"); } public void setText() { System.out.println("文本框显示:小龙女。"); }}class Client { public static void main(String args[]) { //定义中介者对象 ConcreteMediator mediator; mediator = new ConcreteMediator(); //定义同事对象 Button addBT = new Button(); List list = new List(); ComboBox cb = new ComboBox(); TextBox userNameTB = new TextBox(); addBT.setMediator(mediator); list.setMediator(mediator); cb.setMediator(mediator); userNameTB.setMediator(mediator); mediator.addButton = addBT; mediator.list = list; mediator.cb = cb; mediator.userNameTextBox = userNameTB; addBT.changed(); System.out.println("-----------------------------"); list.changed(); }}
0 0
- 设计模式--行为型--中介者模式
- 行为型设计模式-中介者模式
- 设计模式-行为-中介者
- 设计模式 - 行为型模式 - 中介者模式
- 设计模式之------行为型模式(一)-----中介者模式
- 设计模式->行为型模式->中介者模式
- Mediator中介者(行为型设计模式)
- 行为设计模式---中介者模式(Mediator)
- 设计模式笔记--行为型模式之五--中介者
- 设计模式笔记(17)---中介者模式(行为型)
- 设计模式(17)-行为型-中介者模式(Mediator)
- 设计模式20:中介者模式【行为型】
- java设计模式(行为型)之中介者模式
- 设计模式--中介者模式Mediator(行为型)
- [设计模式-行为型]中介者模式(Mediator)
- 设计模式(行为型)之中介者模式(Mediator Pattern)
- 设计模式-行为型之中介者模式
- 行为型:设计模式之中介者模式(十四)
- 高德地图---自定义飘窗
- get请求中url传参中文乱码问题--集锦
- web deploy 发布配置
- android编译分析之1—概述
- 判断A字符串在B字符串中连续出现的最大次数
- 设计模式 - 行为型模式 - 中介者模式
- hadoop下载地址
- ios打包后收不到推送信息(ios自学笔记)
- H3C VLAN配置、删除IP地址
- fetch bulk collect into 批量效率的读取游标数据 【转载】
- Datatables中文API——基本参数
- JS资料整理
- 单例模式的七种写法
- HBase -ROOT-和.META.表结构