什么是代理模式?即Proxy Pattern,23种java常用设计模式之一。代理模式的定义:对其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。为什么要用代理?打个比喻,明星为什么需要经纪人来代理他...
分类:
其他好文 时间:
2014-07-16 20:38:55
阅读次数:
228
java 动态代理(JDK和cglib)
设计模式这东东每次看到就明白可过段时间又不能很流利的说出来,今天就用详细的比喻和实例来加深自己的理解(小弟水平不高有不对的地方希望大家能指出来)。
(1)代理这个词生活中有很多比如在街边卖手机卡、充公交地铁卡的小商店他们都起了代理的作用,java中的代理跟这些小店商的作用是一样的。再比如我想在淘宝上开个服装店但又没有货源怎么办,这时候我就要跟淘宝上某一...
分类:
编程语言 时间:
2014-07-13 18:18:48
阅读次数:
235
定义
为其他对象提供一种代理以控制对这个对象的访问。
案例
对一个对象进行访问控制的原因在于只有确实需要这个对象的时候,才会进行创建和初始化。比如一个文件编辑系统,要打开一个文件,但是文件里边除了文字,还有许多的图片。而打开文件的时候,屏幕只有那么大,不一定能完整的显示。为了提升打开文件的速度,这时候不能显示的图片就可以延迟创建,在需要显示的时候才把它创建处对象,再显...
分类:
其他好文 时间:
2014-07-12 19:57:06
阅读次数:
208
代理模式(proxy pattern) 未使用代理模式 详解本文地址: http://blog.csdn.net/caroline_wendy部分代码参考: http://blog.csdn.net/caroline_wendy/article/details/37698747如果需要监控(monitor)类的某些状态, 则需要编写一个监控类, 并同过监控类进行监控.但仅仅局限于本地, 如果需要远...
分类:
其他好文 时间:
2014-07-12 19:34:23
阅读次数:
343
本文介绍7种结构型模式里的剩下两种:享元模式、代理模式。一、享元模式FlyWeight 享元模式比较简单且重要,在很多场合都被用到,只不过封装起来了用户看不到。其概念:运用共享内存技术最大限度的支持大量细粒度的对象。这个概念给的有些抽象,说白了就是如果内存中存在某个对象A,如果再次需要使用对象A的时候如果内存中有A这个对象就直接使用它,不要再次new了。如果没有,则重新new一个。基于这个特点,享...
分类:
编程语言 时间:
2014-07-12 17:27:16
阅读次数:
180
直接调用代理类,用代理类访问目标类。package Pak;public interface Sourceable { public void method();} 1 package Pak; 2 3 public class Source implements Sourceabl...
分类:
编程语言 时间:
2014-07-12 15:34:03
阅读次数:
194
4.3简要设计4.3.1接口设计4.3.2模块结构思想先定义出核心接口,一个接口可以认为是一个功能,根据接口划分功能设计模式就是一种思想,外观模式和代理模式,适配者模式三者的区别http://blog.csdn.net/yhmhappy2006/article/details/7227017http...
分类:
其他好文 时间:
2014-07-11 12:26:34
阅读次数:
205
Java动态代理模式1. 代理:一个角色代表别一个角色来完成某些特定的功能。比如:生产商,中间商,客户这三者这间的关系客户买产品并不直接与生产商打交道,也不用知道产品是如何产生的,客户只与中间商打交道,而中间商就可以对产品进行一些包装,提供一些售后的服务。代理模式有三个角色: 1. 抽象主题角色 2...
分类:
编程语言 时间:
2014-07-11 12:02:48
阅读次数:
306
(七)装饰器模式 Decorator
装饰器模式是为了动态的给一个对象增加一些新功能。装饰对象与被装饰的对象需要实现同一个接口,装饰对象持有被装饰对象的实例。
(八)代理模式
已有方法使用时候需要对原有方法改进,直接修改原有方法违反了“对扩展开放,对修改关闭”原则。采用代理类调用原来方法可以清晰地划分功能,有助于后期维护。...
分类:
编程语言 时间:
2014-07-10 23:32:01
阅读次数:
209
Objective-C中的Protocol
Protocol
简单来说就是一系列方法的列表,其中声明的方法可以被任何类实现,这种模式一般称为(delegation)模式
在iOS中和OS X中,Apple采用了大量的代理模式来实现MVC中的View(UI控件)和Controller(控制器)
下面举个例子
声明一个Button类和Buttonlisterner类...
分类:
其他好文 时间:
2014-07-10 21:23:44
阅读次数:
192