如何使用Proxy模式及Java内建的动态代理机制
1.Proxy
模式
代理模式支持将某些操作从实际的对象中分离出来,通过它的代理类提供处理。这样便于修改和管理这些特定的操作。
下面示例一个代理模式的实现。
<<interface>>Subject.java
package
com.zj.proxy;
public
interface
Subject {
void
operation1();
void
operation2(String arg);
}
现实类
RealSubject.java
package
com.zj.proxy;
public
class
RealSubject
implements
Subject {
public
void
operation1() {
System.
out
.println(
"Realer do operation1"
);
}
public
void
operation2(String arg) {
System.
out
.println(
"Realer do operation2 with "
+ arg);
}
}
代理类
ProxySubject.java
package
com.zj.proxy;
public
class
ProxySubject
implements
Subject {
private
Subject
proxied
;
//
被代理对象
public
ProxySubject(Subject
proxied) {
this
.
proxied
= proxied;
}
public
void
operation1() {
System.
out
.println(
"Proxyer do operation1"
);
proxied
.operation1();
}
public
void
operation2(String arg) {
System.
out
.println(
"Proxyer do operation2 with "
+ arg);
proxied
.operation2(arg);
}
}
测试类
SimpleProxyDemo.java
package
com.zj.proxy.client;
import
com.zj.proxy.Subject;
import
com.zj.proxy.RealSubject;
import
com.zj.proxy.ProxySubject;
public
class
SimpleProx
相关文档:
package info.gnuhpc;
/**
* @author gnuhpc email: warmbupt@gmail.com blog: http://gnuhpc.info
* @date 2010-1-22
* @bugs 不支持多音字处理
*/
public class PinyinConv {
// 简体中文的编码范围从B0A1(45217)一直到F7FE(63486)
private static int BEGIN = 45217;
private static int ......
AjaxSwing是一个专为Java Swing应用 程序打造的Web开发平台。使用AjaxSwing,可以使为Java桌面应用程序转为Web应用。 AjaxSwing可以被看作是一个Java到HTML的转换器,其程序可以在运行时创建被浏览器解析的HTML和 JavaScript。另外,使用AjaxSwing无需对程序和业务逻辑进行大幅修改修改,它允许开发者使用标准Swing组件来实 ......
JAVA笔试题精华版1.0
public class Test2
{
public static void main(String[] args)
{
Float a = new Float(3.4);
&n ......
很经典的东西,被转的到处都是, 先写原文:
第一,谈谈final, finally, finalize的区别。
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是 Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖 ......