当前位置:  技术问答>java相关

看过decorator模式,一直不能彻底的了解?那个能给讲一讲?

    来源: 互联网  发布时间:2017-04-07

    本文导语:  thanks. | hi,see u again:) Decorator的意义在于对象组装。一个Decorator对象可能是几个实现了相同接口的对象的组合,当你访问该对象时,实际上的操作可能是许多对象依次响应,而在客户端是感受...

thanks.

|
hi,see u again:)
Decorator的意义在于对象组装。一个Decorator对象可能是几个实现了相同接口的对象的组合,当你访问该对象时,实际上的操作可能是许多对象依次响应,而在客户端是感受不到的。
重要的是,这样的组装是动态的,这样,一个对象可以通过Decorator来添加不同的功能(而不是类扩展),这也是Decorator(装饰)的由来。

java.io包使用了大量的Decorator pattern,使用时可注意观察

|
孙悟空有七十二般变化;他的每一种变化都给他带来一种附加的本领。他变成鱼儿时,就可以到水里游泳;他变成雀儿时,就可以在天上飞行。而不管悟空怎么变化,在二郎神眼里,他永远是那只猢狲。

装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。

装饰模式使用原来的被装饰的类的一个子类的实例,把客户端的调用委派到被装饰类。装饰模式的关键在于这种扩展是完全透明的。

在孙猴子的例子里,老孙变成的鱼儿相当于老孙的子类,这条鱼儿与外界的互动要通过“委派”,交给老孙的本尊,由老孙本尊采取行动。尽管老孙把自己“装饰”成了鱼儿,在二郎神的眼里,他仍然是那只猢狲。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Ed的《Mastering EJB》的中文版谁看过?
  • 大家觉得LINUX程序设计这本书怎么样?看过的进来说说
  • 问:谁看过linux中的文件系统ext2?
  • 看过操作系统设计与实现的进来看看
  • 看过《数据结构与算法》(java版)谈谈一下感想?
  • 看过top码的高手看过来
  • 看过《tcp/ip详解》3卷,请问下书中原代码编译问题
  • 看过“自己动手写操作系统”朋友请进
  • 如果你看过《JAVA编程思想》,请进!
  • 大家看过这样写代码的吗?(size_t)-1
  • 有谁看过Linux的源代码交流一下,我目前在看Dnrd,ntpclient,openntpd
  • 有没有看过Oreilly的《Java and XML》的朋友,有个小问题!!!请帮忙!!
  • 昨天在书店看到一本《JAVA2入门经典》的书,老外写的,中国电力出版社出版的,有谁看过这本书,能不能给个建议评价。
  • 有那些高手将linux内核源代码完整的看过一遍啊
  • 看过<<JSP设计>>请过看看!急!在线等待!!!问题解决马上结贴!
  • 请通过SCJP和看过Java 2 认证考试指南(原书第3版,机械工业出版社)的来看看!!
  • 谁看过中国电力出版社的〈〈JAVA入门经典〉〉,一本砖头!
  • 与刚才提问的string有一定关系的一个程序。没有看的,看过的都来看呀!!!
  • 散分:有谁看过《 Java 2 编程指南(JDK 1.3版)》请评价一下
  • 高手看过了。我的linux9.0为什么上不了网?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3