设计模式—代理模式

代理模式

概念:通俗的来讲就是,现在有一个现成的功能,但是现在我们需要在这个功能之前和之后增加一些逻辑的时候,为了避免风险,同时也为了不改变源代码所以决定要实现原功能的接口,来做成一个代理对象,那么它会和原功能实现相同的接口,这个代理对象会调用原功能的功能,在调用之前加一些逻辑,在调用之后加一些逻辑,这就是所谓的代理模式。

用一个请客的例子来说明

接口

public interface QK {
	
	public void qk();

}

被代理类

public class Boss implements QK {

	@Override
	public void qk() {
		System.out.println("Boss付账····");

	}

}

代理类

public class People implements QK {
	private QK qk;

	/**
	 * @param qk
	 */
	public People(QK qk) {
		super();
		this.qk = qk;
	}

	@Override
	public void qk() {
		System.out.println("--------");
		qk.qk();
		System.out.println("========");
	}

测试以及结果

public class Test {
	private static void test(QK qk) {
		qk.qk();
	}

	public static void main(String[] args) {
		test(new People(new Boss()));

	}

}
--------
Boss付账····
========

猜你喜欢

转载自blog.csdn.net/King___00/article/details/89449976