泡MM之代理模式

   代理模式,提供其他对象一种代理以控制对这个对象的控制。

   有此想到了我们日常生活中泡MM,小陈很喜欢小红,但因为自己胆怯,而且不认识小红,无法对予小红表达出那种钟情,于是他想到了他的朋友小林关系不错,那么小陈就把送花与送情书的动作交给小林去做,小林就充当一个代理的角色。把花与情书送给小红,可惜小红最后给小林追了,哈哈。

 


    我们用代码来实现下

 

package com.tankiy.Proxy;
/**
 * <p>Title: 代理模式</p>
 *
 * <p>Description: </p>
 *
 * @author Tankiy
 * @version 1.0
 */
public interface PursuitToMm {
	/**
	 * 送花
	 */
	public void sendFlows();
	/**
	 * 送情书
	 */
	public void sendLoveLetter();
}

 

Pusuit小陈

 

package com.tankiy.Proxy;
/**
 * <p>Title: 代理模式</p>
 *
 * <p>Description: </p>
 *
 * @author Tankiy
 * @version 1.0
 */
public class Puruit implements PursuitToMm {
	private String mm;
	public Puruit(String mm) {
		this.mm = mm;
	}

	public void sendFlows() {
		System.err.println("送花给" + mm);
	}

	public void sendLoveLetter() {
		System.err.println("送情书给" + mm);
	}

}

 小林ProxyPuruit

 

package com.tankiy.Proxy;
/**
 * <p>Title: 代理模式</p>
 *
 * <p>Description: </p>
 *
 * @author Tankiy
 * @version 1.0
 */
public class ProxyPursuit implements PursuitToMm {
	private Puruit puruit;
	public ProxyPursuit(Puruit puruit) {
		this.puruit = puruit;
	}

	public void sendFlows() {
		puruit.sendFlows();
	}

	public void sendLoveLetter() {
		puruit.sendLoveLetter();

	}

}

 测试用例

 

package com.tankiy.Proxy;

import junit.framework.TestCase;

/**
 * <p>Title: 代理模式</p>
 *
 * <p>Description: </p>
 *
 * @author Tankiy
 * @version 1.0
 */
public class ProxyTest extends TestCase {
	public void testProxy() {
		String mm = "小红";
		Puruit puruit = new Puruit(mm);
		ProxyPursuit p = new ProxyPursuit(puruit);
		p.sendFlows();
		p.sendLoveLetter();
	}
}

 结果如下


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值