代理模式 (追女孩代理)
代理模式:為其他物件提供一種代理以控制對這個物件的訪問
例如 :有三個物件,一個被追求者,一個追求者,一個代理,代理模式是通過代理把要送的東西送給被追求者,被追求都不知道真正送東西的人是誰
他只認識這個代理。
package com.proxy;
/**
* 被追求者
* @author Administrator
*
*/
public class Girl {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.proxy;
/**
* 追求者
* @author Administrator
*
*/
public class Pursuit implements GiveGift{
private Girl girl ;
public Pursuit (Girl girl){
this.girl = girl;
}
@Override
public void giveDoll() {
System.out.println(girl.getName()+"---送你洋娃娃");
}
@Override
public void giveFlowers() {
System.out.println(girl.getName()+"---送你花");
}
@Override
public void giveChocolate() {
System.out.println(girl.getName()+"---送你巧克力");
}
}
package com.proxy;
/**
* 送禮物類
* @author Administrator
*
* 追求者和代理 都擁有這些方法
*/
public interface GiveGift {
public void giveDoll ();
public void giveFlowers();
public void giveChocolate();
}
package com.proxy;
/**
* 代理類
* @author Administrator
* 代理類代理追求者 送東西
*/
public class Proxy implements GiveGift {
//代理類代理追求者 送東西
private Pursuit pursuit;
public Proxy (Girl girl){
this.pursuit = new Pursuit(girl);
}
@Override
public void giveDoll() {
pursuit.giveDoll();
}
@Override
public void giveFlowers() {
pursuit.giveFlowers();
}
@Override
public void giveChocolate() {
pursuit.giveChocolate();
}
}
package com.proxy;
/**
* 代理模式:為其他物件提供一種代理以控制對這個物件的訪問
* @author Administrator
*
*/
public class MainRun {
/**
* @param args
*/
public static void main(String[] args) {
Girl girl = new Girl();
girl.setName("李花");
Proxy proxy = new Proxy(girl); //通過代理呼叫,被追求不知道真正送花的人。
proxy.giveDoll();
proxy.giveFlowers();
proxy.giveChocolate();
}
}
相關文章
- 使用組合的設計模式 | 追女孩要用的遠端代理模式設計模式
- 代理模式 - 動態代理模式
- 代理模式模式
- 代理模式-靜態代理解讀模式
- 代理模式增強之路(代理+責任鏈模式)模式
- Java設計模式-之代理模式(動態代理)Java設計模式
- 代理模式(Proxy)模式
- 代理模式JDK模式JDK
- Java類關係之代理(代理模式)Java模式
- 【JAVA】代理模式之Java動態代理Java模式
- 23種設計模式之代理模式(靜態代理)設計模式
- 【設計模式】-代理模式及動態代理詳解設計模式
- 設計模式----代理模式設計模式
- 設計模式——代理模式設計模式
- 設計模式-代理模式設計模式
- 設計模式~代理模式設計模式
- 【設計模式】代理模式設計模式
- 代理模式詳解:靜態代理、JDK動態代理與Cglib動態代理模式JDKCGLib
- 大話--代理模式模式
- 代理設計模式設計模式
- 代理模式詳解模式
- 代理模式總結模式
- 代理模式CGLIB模式CGLib
- 代理模式與Binder模式
- 動態代理模式模式
- 代理模式(Proxy Pattern)模式
- 設計模式總結——代理模式以及java的動態代理設計模式Java
- 結構型模式:代理模式模式
- 《設計模式》之代理模式設計模式
- PHP設計模式-代理模式PHP設計模式
- js設計模式--代理模式JS設計模式
- Java設計模式—代理模式Java設計模式
- Java設計模式-代理模式Java設計模式
- Java設計模式:代理模式Java設計模式
- 設計模式(七)——代理模式設計模式
- 【設計模式之代理模式】設計模式
- 設計模式(九):代理模式設計模式
- 設計模式之代理模式設計模式