JiveJdon Community Forums
在线281人   首页   主题总表   培训咨询   精华   查搜   注册    登陆
首页 » 论坛 » 设计模式、框架和架构
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
Go 总共有 3 回复 / 1
 发表新帖子   回复该主题贴
wuyongshark

悄悄话
发表文章: 1
注册时间: 2003年12月22日 09:30
关于Proxy和Decorator设计模式的疑问 2003年12月26日 09:41 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表 proxy模式(9)      decorator模式(12)     
个人认为Proxy模式和Decorator模式在编码实现上比较相似,主要还是看具体应用的场合。例如我们经常可以看到对java.sql.Connection重新包装的代码,不知道这属于哪种设计模式呢,还请大家指点。

public MyConnection implements Connection {
private Connection m_connection = null;

public MyConnection(Connection connection) {
m_connnection = connection;
}

//增加新的方法
public Timestamp getSystemTime() {
//......
}

//覆盖已经存在的方法
public void setAutoCommit(Boolean autoCommit) throws SQLException {
//......
}

//实现其它的方法
public Boolean getAutoCommit() throws SQLException {
return m_connection.getAutoCommit();
}

//......

}
blureyes

悄悄话
发表文章: 7
注册时间: 2003年03月13日 19:13
Re: 关于Proxy和Decorator设计模式的疑问 2003年12月26日 13:50 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
这个例子应该是decorate模式。
一般proxy模式用在避免直接访问实际对象的环境下,比如远程访问,安全限制。
而decorate利用对实际对象的封装,来提供实际对象所没有的responsibility。
cats_tiger

悄悄话
发表文章: 185
注册时间: 2003年05月16日 16:58
Re: 关于Proxy和Decorator设计模式的疑问 2003年12月26日 14:05 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
Adapter的变形--如果该为如下代码就是Adapter:

public MyConnection implements Connection,MyFunc {
private Connection m_connection = null;

public MyConnection(Connection connection) {
m_connnection = connection;
}

//增加新的方法,来自MyFunc
public Timestamp getSystemTime() {
//......
}

//覆盖已经存在的方法
public void setAutoCommit(Boolean autoCommit) throws SQLException {
//......
}

//实现其它的方法
public Boolean getAutoCommit() throws SQLException {
return m_connection.getAutoCommit();
}

//......

}

cats_tiger

悄悄话
发表文章: 185
注册时间: 2003年05月16日 16:58
Re: 关于Proxy和Decorator设计模式的疑问 2003年12月26日 14:19 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
Proxy可以为对象提供细粒度的控制,例如Jive利用Proxy为对象提供方法级的安全控制。
Decorator使得客户端可以自由增强原对象的功能,例如你可以自由组合jive的filters,实现不同的过滤,还可以加入新的filter而完全不影响原有的filter,但是Jive对于Decorator的实现也是经过改变的(clone方法替代构造器),目的是为了提供缺省的Constructor,以便Class.forName
这个主题有 3 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com
anti spam