论坛首页 Java企业应用论坛

设计模式之--适配器模式(adapter)

浏览 14017 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (5)
作者 正文
   发表时间:2009-03-20  
对适配器有了一定的认识。谢谢楼主。
0 请登录后投票
   发表时间:2009-03-21   最后修改:2009-03-21
设计模式到处可见:
  1.继承和组合实现代码复用。
  2.面向抽象和接口编程。
  3.对扩展支持,对修改关闭。
 
0 请登录后投票
   发表时间:2009-03-24  
fjlyxx 写道
适配器是一种补救模式,这种模式用的还是很多的.值得学习,不过适配器模式不单在代码级别适用,更重要的应该用在框架级别,在系统架构的角度去看.
个人意见


1.一种补救模式???
2.不过适配器模式不单在代码级别适用,更重要的应该用在框架级别,在系统架构的角度去看???

第一句不懂,第二句迷糊^_^


为什么说是一种补救模式呢???
0 请登录后投票
   发表时间:2009-04-02  
zhuxing 写道
fjlyxx 写道
适配器是一种补救模式,这种模式用的还是很多的.值得学习,不过适配器模式不单在代码级别适用,更重要的应该用在框架级别,在系统架构的角度去看.
个人意见


1.一种补救模式???
2.不过适配器模式不单在代码级别适用,更重要的应该用在框架级别,在系统架构的角度去看???

第一句不懂,第二句迷糊^_^


为什么说是一种补救模式呢???


呵呵,问一个问题 如果两个东西能够很好的结合何必要适配呢???
一般说来适配的出现时机不是系统开发初期,恰恰是系统标准已经形成以后.就好比你要安装驱动程序一样.
系统架构的角度去看是这样的 因为适配不单纯只涉及到一个具体的JAVA类或者一段代码,它有可能是一个系统前期设计时候必须考虑的问题,好比你你要集成新旧两个系统的时候  你怎么让这两个东西很好的结合工作呢, 改旧系统?让新系统去适应就系统?? 还是写一个适配呢??  在分布式里面适配器就是,......头疼的问题..估计百分之60的时间都是在开发适配器,比如你有一个已经存在的服务A 你要方便别人使用你的服务 这时候你就要写适配器. 总之一句话 适配来适配去 就是为了补救 
0 请登录后投票
   发表时间:2009-06-04  
系统开发初期就考虑适配????????????接下来!!!!!!!!
0 请登录后投票
   发表时间:2009-06-13  
学习了,讲的很清晰。
0 请登录后投票
   发表时间:2009-06-22  
zhuxing 写道
fjlyxx 写道
适配器是一种补救模式,这种模式用的还是很多的.值得学习,不过适配器模式不单在代码级别适用,更重要的应该用在框架级别,在系统架构的角度去看.
个人意见


1.一种补救模式???
2.不过适配器模式不单在代码级别适用,更重要的应该用在框架级别,在系统架构的角度去看???

第一句不懂,第二句迷糊^_^


为什么说是一种补救模式呢???


举个简单的例子吧,比如你设计一个MVC框架,其中View层技术,你有要支持JSP有要支持Velocity(模板技术)。Jsp技术的话,数据是通过request.setAttribute()进行传递的,在action中setAttribute(),在Jsp中
getAttribute();Velocity的话是在action中在Context里边进行put()操作的,然后在Template中直接以对象打点的方式取值的。

从上面的不描述不难看出,Jsp和Velocity技术的数据传输介质是不一样的。加入设计这样的MVC框架的话,那么就应该引入一个中间的对象,比如叫做ViewContext对象。在Action中把view层需要的数据put进这个ViewContext中,然后渲染模板或者渲染JSP文件。但是渲染模板需要的Context对象(velocity的一个接口),而JSP需要HttpServletRequest对象。这个时候适配器就有用了,通过做两个Adapter,一个叫做VelocityContextAdapter,这个类实现Context对象,然后将把ViewContext的方法转嫁到VelocityContextAdapter的各个对应的方法中去。而JSP的话只需要集成HttpRequestWrappter类,覆盖需要的方法,即可。其实从形式上来讲,适配器模式跟代理模式有点像,只是出发点可能不一样。个人认为没有必要花那么多心思去区分。


讲的有点乱哈。。。
1 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics