设计模式之简单的代理模式

      以下是自己所理解的最简单的代理模式,大神绕道,因为之前一直没有接触设计模式的部分:

      代理模式理解:当一个接口中有10个方法,有一个实现他的UseDaiLi类,只需要menthord1()这个方法,如果直接implement这个类的话,就会自动生成10个方法,变得很多余.这时候就有一个DaiLi先实现这个接口,然后让类UseDaiLi类继承他, 重载menthord1()这个方法即可,这就是我所理解的最简单的代理模式的应用场景.

       1.先定义一个接口,里面有10个方法,可能会让用户来调用的,如下代码:

/**
 * 当一个接口中有10个方法,有一个实现他的UseDaiLi类,只需要menthord1()这个方法,如果直接implement
 * 这个类的话,就会自动生成10个方法,变得很多余.这时候就有一个DaiLi先实现这个接口,然后让类UseDaiLi类继承他
 * 重载menthord1()这个方法即可,这就是我所理解的最简单的代理模式的应用场景.
 * 
 * @author ALLONE
 * 
 */

public interface DaiLiInterface {

	public void menthod1();

	public void menthod2();

	public void menthod3();

	public void menthod4();

	public void menthod5();

	public void menthod6();

	public void menthod7();

	public void menthod8();

	public void menthod9();

	public void menthod10();
}


    2.方法太多,如果直接继承,势必会产生很多多余的代码,需要建立一个代理类,先实现它的所有方法,让用户来继承,选择相应要使用的方法进行重写,代理类如下:

public class UseDaiLi implements DaiLiInterface {

	@Override
	public void menthod1() {
		System.out.println("代理类用户只需要使用这个类menthod1");

	}

	@Override
	public void menthod2() {

	}

	@Override
	public void menthod3() {

	}

	@Override
	public void menthod4() {

	}

	@Override
	public void menthod5() {

	}

	@Override
	public void menthod6() {

	}

	@Override
	public void menthod7() {

	}

	@Override
	public void menthod8() {

	}

	@Override
	public void menthod9() {

	}

	@Override
	public void menthod10() {

	}

}

     3.用户使用代理类的测试类,如下:

/**
 * 这个类是需要使用接口里面的一个函数menthod1()
 * 
 * @author ALLONE
 * 
 */
public class DaiLi extends UseDaiLi {

	public static void main(String[] args) {
		DaiLi ceshi = new DaiLi();
		ceshi.menthod1();
	}

	@Override
	public void menthod1() {
		System.out.println("用户只需要使用这个类menthod1,不需要重写所有的方法");
	}

}
测试结果如下:

用户只需要使用这个类menthod1

     上述就是我老大给我讲的最基本的代理类,后续会更新,大神绕道,不喜勿喷.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值