public interface Wed {
public void weding();
}
//需要实现核心业务的人,所以实现核心业务的方式;
public class Person implements Wed{
public Person person;
public void weding() {
System.out.println("a和美女结婚了");
}
}
//定义一个代理类,来帮助实现边缘业务,
public class WedProxy implements Wed{
public WedProxy() {
// TODO Auto-generated constructor stub
}
Person Person =new Person();
//person是实现核心业务所必须的条件,没有他核心业务就无法实施;
public WedProxy(Person person) {
this.Person =person;
}
public void Before() {
System.out.println("布置酒店");
}
public void after() {
System.out.println("清理酒店");
}
@Override
public void weding() {
this.Before();
//this来调用当前对象,谁调用谁就是当前对象
System.out.println("结婚");
this.after();
}
}
//new出一个person与 wedprioxy,其中wedprioxy必须要传入一个person
//才能执行核心方法
public class TestWed {
public static void main(String[] args) {
Person pe =new Person();
WedProxy we = new WedProxy(pe);
we.weding();
//虽然调用方法的是代理wedprioxy,但是实现核心业务的人是new出来的person;
}
}
//这就是代理模式