代理模式

代理模式

 

 1.代理模式的作用:代理模式主要为一个对象引用另外一个对象提供一种中介,简单的来说,有时候一个对象不想直接访问另外一个对象,这个时候就可以用代理来实现。

 一般情况下代理模式需要三个角色

 

 a.抽象角色:主要用来声明代理类和真实类的共同接口。代理类和真实类都需要实现该接口。

 b.真实角色:也就是我们需要引用的那个类。

 c.代理角色:代理角色内部包含对真实角色的引用,从而使客户端可以操作真实的对象,同时代理角色和真实角色拥有相同的接口以便任何时候都能替代真实对象。同时还可以附加另外的操作。

 

下面我们将以具体的代码来说明:

 

package com;

public abstract class Subject {
/**
* 如果一个类继承了抽象类,
* 这个类必须实现抽象类的所有方法
*/
//抽象方法
abstract public void request();
}

 

 注意:这是一个抽象的类 ,下面编写代理的类

package com;

public class ProxySubject extends Subject{
	
	RealSubject realSubject;
	
	public void request(){
		System.out.println("the programe is here");
		if(realSubject==null){
			realSubject=new RealSubject();
			realSubject.request();
		}
	}

}

 

上面是一个代理的类,从这个类中,我们可以看出,代理的类实现了对真正类的引用

 

public class RealSubject extends Subject {
 
 public void request(){
  System.out.println("Real subject is here");
  
 }

}

上面是一个真正引用的类。

下面编写一个客户端,来调用代理的类,实现对真正的类的操作

 


public class Client {
public static void main(String args[]){
Subject sub=new ProxySubject();
sub.request();
}

}

 上面就是一个简单的代理模式。这是java设计模式中的一个例子,上面只是我对代理模式的理解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值