在线308人
首页
主题表
培训咨询
标签
精华
查搜
注册
登陆
用户
自动登陆
密码
新用户注册
忘记密码?
首页
»
论坛
»
设计模式、框架和架构
上一主题
请问哪位在企业内部用过JMS的大虾可以讲解一下JMS主要的应用场景有哪些? 我自己只知道说 JMS用于操作可异步执行的地方,比如:发email了或者要在某目录下生成一个大报表一些比较耗时的操作,..
返回本主题
返回主题列表
下一主题
banq您好!<BR>我非常同意您在数据持久层上面的见解,我也想过这样的问题:软件系统的分析与设计为什么要从数据库设计开始。<BR>或许是关系型数据库的本质特征所决定的,它着重于数据的持久化以及数据与..
Go
总共有
0
回复 /
1
页
前往下页:
bojava
悄悄话
发表文章: 2
注册时间: 2007年02月09日 11:01
设计模式之Mediator(中介者)这样理解 对吗?
2007年02月09日 11:02
标签列表
mediator模式
(2)
设计模式初学者!向大家请教了!
最近在看BAND老师的
设计模式
,看了
设计模式
之Mediator(中介者)这个文章,
中介者
,自己写了个简单的例子,这个例子主要是为了理解这个
设计模式
,同时,想请教一下大家如何提高设计能力!我这个代码可以如何改进,期待大家的指正!谢谢!
代码如下:
package org.behavior.mediator;
public interface Mediator {
public void register(Colleague c);//其它人要同中介联系,注册自己
}
package org.behavior.mediator;
public class Colleague {
protected Mediator mediator;
public Mediator getMediator() {
return mediator;
}
public void setMediator(Mediator mediator) {
this.mediator = mediator;
this.mediator.register(this);
}
}
//一个买票的中介,一票难求
package org.behavior.mediator;
import java.util.ArrayList;
public class TicketMediator implements Mediator {
//member list 这个变量放在这不太合适?
ArrayList memberList;
ArrayList ticketList;
public TicketMediator() {
memberList = new ArrayList();
ticketList = new ArrayList();
}
public void register(Colleague c) {
memberList.add(c);
}
public synchronized String buyTicket() {
if (ticketList.size() > 0) {
return (String) ticketList.remove(ticketList.size() - 1);
}
return "";
}
public synchronized void sellTicket(String ticket) {
ticketList.add(ticket);
}
}
//我是卖票的,NB
package org.behavior.mediator;
public class ConcreteColleagueSeller extends Colleague {
public void sell()
{
((TicketMediator) this.mediator).sellTicket("bj-sh");
}
public String toString() {
return "ConcreteColleagueSeller";
}
}
//我要回家
package org.behavior.mediator;
public class ConcreteColleagueBuyer extends Colleague {
public void buy() {
String ticket = ((TicketMediator) this.mediator).buyTicket();
if ("".equals(ticket)) {
System.out.println("sorry!");
} else {
System.out.println("Lucky One! < "+ticket+" >");
}
}
public String toString() {
return "ConcreteColleagueBuyer";
}
}
欢迎拍砖啊!谢谢
这个主题有
0
回复 /
1
页
Go
上一主题
返回本主题
返回主题列表
返回页首
下一主题
热点TAG:
AOP
cache
缓存
DDD
EJB
集群
设计模式
Hibernate
IOC
JiveJdon
OO
RBAC
Seam
Spring
Struts
正在读取,请等待...
Wowzio
grab this
·
technology
blog
查询本论坛内
近一天
近三天
近一周
近一月
近三月
近半年
近一年
所有
回复超过
的热门帖子
标题
内容
每2分种自动备份发贴内容Ctrl-V粘贴取出,提问题前先查询
标签列表
解惑之道在
J道
,打造中国最具影响力的的企业软件社区
OpenSource
JIVEJDON
v3.0
Powered by
JdonFramework
Code © 2002-08
jdon.com
anti spam