`
#天琪#
  • 浏览: 160484 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

关于代理

    博客分类:
  • FLEX
阅读更多
   
    转自http://arch.pconline.com.cn/pcedu/empolder/net/0405/371995.html

    当我们需要使用的对象很复杂或者需要很长时间去构造,这时就可以使用代理模式(Proxy)。例如:如果构建一个对象很耗费时间和计算机资源,代理模式(Proxy)允许我们控制这种情况,直到我们需要使用实际的对象。一个代理(Proxy)通常包含和将要使用的对象同样的方法,一旦开始使用这个对象,这些方法将通过代理(Proxy)传递给实际的对象。

  一些可以使用代理模式(Proxy)的情况:

  一个对象,比如一幅很大的图像,需要载入的时间很长。

  一个需要很长时间才可以完成的计算结果,并且需要在它计算过程中显示中间结果

  一个存在于远程计算机上的对象,需要通过网络载入这个远程对象则需要很长时间,特别是在网络传输高峰期。

  一个对象只有有限的访问权限,代理模式(Proxy)可以验证用户的权限

  代理模式(Proxy)也可以被用来区别一个对象实例的请求和实际的访问,例如:在程序初始化过程中

  可能建立多个对象,但并不都是马上使用,代理模式(Proxy)可以载入需要的真正的对象。

  这是一个需要载入和显示一幅很大的图像的程序,当程序启动时,就必须确定要显示的图像,但是实际的图像只能在完全载入后才可以显示!这时我们就可以使用代理模式(Proxy)。

  这个代理模式(Proxy)可以延迟实际图像的载入,直到它接收到一个paint请求。在实际图像的载入期间我们可以通过代理模式(Proxy)在实际图像要显示的位置预先载入一个比较小、简单的图形。





(其他的内容)
附:

   static  指定变量,常量,方法属于类,而不属于类的实例。

   例如一个类(Settings)有一个公共的静态方法getInstance(),如果想要调用getInstance(),则使用的是Settings.getInstance()。(而不是先创建一个Settings的实例如xx,再使用xx.getInstance(),这样是错误的)


   danymic    指类的实例可在运行时添加动态的属性



   疑问::::一段关于代理重写属性的代码
       flash_proxy override function getProperty(tt:*):* {
trace (data[tt.toString()]);
return data[tt.toString()];
}

    data为XML类型(已载入了外部XML文件),在文档类中确定tt的值,比如说tt是data的一个子节点,为什么写成trace(data.tt);或者trace (data.(tt.toString()));
却没有输出呢?data[]又是一种怎么的访问方式???先搁着把代理搞完了再弄这个。
             

  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics