把不重要的细节交给别人做,自己做核心部分
- 代理就如同老板的秘书
- 老板要开会,真正开会是老板在说,会前的准备,会后收尾都是秘书做
- 老板和秘书做的事都叫开会
- java模拟
- 在Secretary类中注入Boss对象
- 整个过程:秘书做好会前准备=>对boss说“都准备好了,可以开会了”=>会后秘书收尾
Meeting.java
public interface Meeting {
void meeting();
}
Boss.java
public class Boss implements Meeting {
@Override
public void meeting() {
System.out.println("boss-meeting");
}
}
Sectetary.java
public class Secretary implements Meeting {
private Boss boss;
public Boss getBoss() {
return boss;
}
public void setBoss(Boss boss) {
this.boss = boss;
}
private void beforeMeeting() {
System.out.println("secretary-beforeMeeting");
}
private void afterMeeting() {
System.out.println("secretary-afterMeeting");
}
@Override
public void meeting() {
beforeMeeting();
boss.meeting();
afterMeeting();
}
}
BSTest.java
public class BSTest {
@Test
public void bsTest() {
Boss boss = new Boss();
Secretary secretary = new Secretary();
secretary.setBoss(boss);
secretary.meeting();
}
}
结果
secretary-beforeMeeting
boss-meeting
secretary-afterMeeting