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

悄悄话
发表文章: 21
注册时间: 2002年09月22日 11:04
adapter模式读书笔记,请多多指教 2003年03月21日 18:19 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表 adapter模式(15)     
在使用一个类时,为了使这个类具有更好的复用性,
不能在使用它时增加额外的条件。当客户类使用它
时,当接口不匹配时,如果采用非面向对象的方法
,用硬代码调用这个类,势必会出现大量的重复代
码,出现重复代码的时候就是使用设计模式的时候。
这是可以用一个专门的类来封装这个匹配的过程。
这就是adapter,adapter有两种形式:类适配器
和对象适配器。用类适配器的好处是避免额外的
对象引用,并且可以重新定义被适配类的内容。
对象适配器的好处是可以为被适配类和它所有的
子类提供适配。
banq

悄悄话
发表文章: 9524
注册时间: 2002年08月03日 17:08
Re: adapter模式读书笔记,请多多指教 2003年03月23日 12:59 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
adapter模式是扩展时用。

你说的“当客户类使用它时,接口不匹配,。。用硬代码调用这个类,势必产生大量重复代码”,我不是很明白,我的理解是,当接口不匹配时,一般我们要么修改原来的类或者修改现在的类,使它们接口来匹配,但是这种修改原来类的办法不是好办法,我们要把原来的类当做“黑匣子”,尽量不去动它,保证复杂系统的稳定性,这是就只能通过adapter增加一个类,来做转换,就象110/220的变压转换器一样。

这个模式告诉我们,不要随意去修改原来代码,不要自以为很聪明,我个人感觉这是很多年轻程序员最喜欢范的毛病。

richardluopeng

悄悄话
发表文章: 71
注册时间: 2002年08月30日 15:52
Re: adapter模式读书笔记,请多多指教 2003年03月23日 14:52 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
所谓的OCP原则,呵呵
manbaum

悄悄话
发表文章: 36
注册时间: 2003年03月21日 16:49
Re: adapter模式读书笔记,请多多指教 2003年03月24日 15:00 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
adapter 模式在网络里的应用是 gateway(网关),在现实生活中的应用就是 translator/interpretor(翻译)。
manbaum

悄悄话
发表文章: 36
注册时间: 2003年03月21日 16:49
Re: adapter模式读书笔记,请多多指教 2003年03月24日 15:09 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
这里的贴子发完了不能编辑,只好再回复一次了

关于 adapter 还有以下优点。

如果你需要做比如图象类型转换,要把 bmp, gif, png, jpg, tif, ... 等很多格式能够相互转化,一个一个写,你就需要很多个转换方法:

bmp->gif
bmp->png
bmp->jpg
bmp->tif
gif->bmp
gif->png
gif->jpg
gif->tif
png->bmp
png->gif
png->jpg
png->tif
... ...

而用 adapter 就方便多了,只需要

bmp->adapter
gif->adapter
png->adapter
jpg->adapter
tif->adapter
以及
adapter->bmp
adapter->gif
adapter->png
adapter->jpg
adapter->tif

工作量少的多了。
richardluopeng

悄悄话
发表文章: 71
注册时间: 2002年08月30日 15:52
Re: adapter模式读书笔记,请多多指教 2003年03月28日 12:33 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
呵呵,关注
张二狠

悄悄话
发表文章: 10
注册时间: 2003年04月10日 12:50
Re: adapter模式读书笔记,请多多指教 2003年04月10日 13:02 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
java各种模式真有用,都是围绕着多态做文章
我可是记不住那些模式,我现在的做法就是
来了一个项目后,不管三七21整体上确定了
功能之后,就开始定义若干借口和抽象类
然后通过多态的方式使用对象,总能瞎猫碰死耗子
用了几个设计模式
是不是扯远了
张二狠

悄悄话
发表文章: 10
注册时间: 2003年04月10日 12:50
Re: adapter模式读书笔记,请多多指教 2003年04月10日 13:13 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
具体想想各个模式的方法
核心就是实现的每一个系统,甚至每一个功能
都要抽象出一个管理类(接口),从而实现
方便的系统扩充。
我认识一个搞高级语言研究的人,她是专门搞语言
扩充的,她研究的路子就是在一般的类上面再动态
的加入更高级的抽象类,这和模式的研究有异曲同工的
效果吧
张二狠

悄悄话
发表文章: 10
注册时间: 2003年04月10日 12:50
Re: adapter模式读书笔记,请多多指教 2003年04月10日 13:23 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
源程序总是要给别人看的
虽然有些人不自觉地使用,但是比如说
同样的东西我要是给class命名加了
adapter这样的东西,和不加的相比,看起来
更专业一点。
richardluopeng

悄悄话
发表文章: 71
注册时间: 2002年08月30日 15:52
Re: adapter模式读书笔记,请多多指教 2003年04月17日 18:23 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
反对,如果都 不了解,就
没有办法应用
wwlhp@jdon.com

悄悄话
发表文章: 111
注册时间: 2003年06月03日 17:19
Re: adapter模式读书笔记,请多多指教 2003年06月08日 15:37 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
To manbaum,
我对你说的图像各式转换比较感兴趣 我觉得你说的方法很好。你的意思是不是找一种中性格式,使得这种中性格式能够和其他的格式互相转换?不过我觉得这应该是Mediator模式。
thankyoutt

悄悄话
发表文章: 2
注册时间: 2003年09月17日 17:01
Re: adapter模式读书笔记,请多多指教 2003年09月17日 17:13 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
请教您一下,怎样用java实现png格式的文件转换成bmp格式的文件,最好有源代码。多谢!!
这个主题有 11 回复 / 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链接 插入附件
内容
  每2分种自动备份发贴内容Ctrl-V粘贴取出,提问题前先查询标签列表

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

anti spam