java设计模式-代理模式

代理模式

   就是多一个代理类出来,替原对象进行一些操作。

   比如我们在租房子的时候回去找中介;因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,而在这个找房过程全部交给中介,你只需关注最后找到的房子。废话不多讲,看代码!

资源类的超类:

public interface LifeSourceable {

	public void findHouse();
}
资源类: 现实功能
public class LifeSource implements LifeSourceable {

	@Override
	public void findHouse() {
		// TODO Auto-generated method stub
		System.out.println("find house ...........");
	}

}
代理类:实现功能,并封装加强该功能

public class LifeProxy implements LifeSourceable {

	private LifeSource source;

	public LifeProxy() {
		super();
		this.source = new LifeSource();
	}

	private void before() {
		System.out.println("In the find house before,Contact the landlord");
	}

	@Override
	public void findHouse() {
		// TODO Auto-generated method stub
		before();
		this.source.findHouse();
		after();
	}

	private void after() {
		System.out.println("In the find house before,Contact the you");
	}
}
测试类:

public class Test {
	public static void main(String[] args) {
		LifeProxy p = new LifeProxy();
		p.findHouse();
	}
}
输出结果:找房子:1.中介联系房东,2.找房子 3.联系你

In the find house before,Contact the landlord
find house ...........
In the find house before,Contact the you

这个就是一个简单的代理模式,看懂了请点个赞,谢谢。



你可能感兴趣的:(JAVA设计模式)