把不重要的细节交给别人做,自己做核心部分

  • 代理就如同老板的秘书
  • 老板要开会,真正开会是老板在说,会前的准备,会后收尾都是秘书做
  • 老板和秘书做的事都叫开会
    设计模式-代理模式(Proxy Pattern)
  • 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

相关文章: