java代理模式
代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。
在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用
例如:客人想请市长(真是角色)吃饭 但是请不动市长 只好找市长秘书(代理角色) 但是最后为客人做事的 还是市长
代理模式一般涉及到的角色有
抽象角色:声明真实对象和代理对象的共同接口
代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻
都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装
真实角色:代理角色所代表的真实对象,是我们最终要引用的对象
参见程序Subject.java
参见程序RealSubject.java
参见程序ProxySubject.java
参见程序Client.java
// 抽象角色
abstract public class Subject
{
abstract public void request();
}
//真实角色:实现了Subject的request()方法
public class RealSubject extends Subject
{
public RealSubject()
{
}
public void request()
{
System.out.println("from real subject.");
}
}
//代理角色
public class ProxySubject extends Subject
{
private RealSubject realSubject; // 以真实角色作为代理角色的属性
public ProxySubject()
{
}
public void request() // 该方法封装了真实对象的request方法
{
preRequest();
if (realSubject == null)
{
realSubject = new RealSubject();
}
realSubject.request(); // 此处执行真实对象的request方法
postRequest();
}
private void preRequest()
{
// something you want to do before requesting
}
private void postRequest()
{
// something you want to do after requesting
}
}
//客户端调用
public class Client
{
public static void main(String[] args)
{
//这里用到了多态机制 因为ProxySubject继承了Subject 所以
Sub
相关文档:
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.sql.Timestamp;
import java.util.Arrays;
public class SmallToBig {
private String newFileName;// 新文件名字
private String filterName;// 过滤规则名字
  ......
如果你去面试的时候,面试官考你,为什么要在java中的main方法前加public static void这些修饰符,你知道如何去回答吗?下面我为大家讲解一下吧!如果有什么缺漏的话!欢迎大家的指点!
首先,为什么要用public:
因为在运行程序时,jvm要调用main方法,但我们都应该知道jvm ......
public class chengfa {
public static void main(String[] args)
{
model md=new model();
md.method();
}
}
class model
{
public int count=0;
public int[]b=new int[100];
public void me ......
浅析Java web程序之客户端和服务器端交互原理
近来一直在思考一个疑问,为什么在用struts框架开发的时候FormBean都须要序列化,即实现Java.io.Serializable接口,本着勤学好问的精神我Google了下对象序列化方面的文章,虽然大体明白了如何做,但是还是没有搞清楚为什么要这样做;结尾我想处理一个疑问要找疑问的根源和本质 ......
目录
摘要 ……………………………………………………………………2
文献综述 ……………………&h ......