樊聪

部分源码为加密模式,需要的同学请留言

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

代理模式----结构型模式

静态代理

思路:歌星会唱歌和收费,经济人是歌手的代理人(代理模式)经济人让歌手唱歌,经济人负责收费。

/**
 * 歌星
 *
 */
public interface Star
{
	public void sing();//唱歌
	public void mony();//收费
}
/**
 * 真实的歌手
 */
public class RealStar implements Star
{

	@Override
	public void sing()
	{
		System.out.println("歌手唱歌");
	}

	@Override
	public void mony()
	{
		System.out.println("歌手收费");
	}

}

代理类:

/**
 * 歌手的经纪人
 */
public class RealStarProxy implements Star
{
	//具体的歌手
	private RealStar realStar;
	//代理歌手
	public RealStarProxy( RealStar realStar)
	{
		this.realStar = realStar;
	}
	@Override
	public void sing()
	{
		//歌手唱歌
		realStar.sing();
	}

	@Override
	public void mony()
	{
		System.out.println("经纪人收费");
	}

}

测试:

public class Demo
{
	public static void main(String[] args)
	{
		RealStar realStar = new RealStar();//创建歌手对象
		RealStarProxy proxy = new RealStarProxy(realStar);//代理对象代理歌手
		proxy.mony();//经纪人收费
		proxy.sing();//歌手唱歌
	}
}

  

posted on 2017-09-28 19:48  樊聪  阅读(133)  评论(0)    收藏  举报