代理设计模式的概念:
是指给某一对象提供代理对象,并由代理对象控制具体对象的引用。
比如:下面的例子,王婆代理潘金莲接活,真正做的是潘金莲而不是王婆,王婆只负责前期的准备工作。在说明白点就是王婆是中间体,中间体的责任就是要将请求传递给潘金莲,产生结果的是潘金莲。
步骤1、
//先定义一类女人
interface KindWomen
{
//定义这类女人能干什么
public void makeEyeWithMan() ;//抛媚眼
public void makeLoveWithMan() ;//做爱
}
步骤2、
//定义具体的人---潘金莲
class PanJinLian implements KindWomen
{
public void makeLoveWithMan(){
System.out.println("她正在make love!!!") ;
}
public void makeEyeWithMan(){
System.out.println("她正在抛媚眼!!!") ;
}
}
步骤3、
//定义王婆,而王婆作为潘金莲的代理
class WangPo implements KindWomen
{
private KindWomen k ;
public WangPo(){ //默认的话,他是潘金莲的代理
this.k = new PanJinLian() ;
}
public WangPo(KindWomen k){
this.k = k ;
}
public void makeLoveWithMan(){
this.k.makeLoveWithMan() ; //王婆老了干不了了,找潘金莲做
}
public void makeEyeWithMan(){
this.k.makeEyeWithMan() ; //王婆老了干不了了,找潘金莲抛媚眼
}
}
步骤4、
//定义一个男主角西门庆,开始程序
public class Demo
{
public static void main(String args[]){
WangPo W = new WangPo() ;
W.makeEyeWithMan() ;
W.makeLoveWithMan() ;
}
}
程序结果:
本片并不是笔记,是经过网上的博客总结整理而成,其中的例子真的很经典。让人一看就懂,明白代理的真正含义是什么。