Java進階_靜態代理模式
阿新 • • 發佈:2022-03-16
靜態代理模式
package com.mike.demo03; //靜態代理模式總結: //真實物件和代理物件都要實現同一個介面 //代理物件要代理真實角色 //好處: //代理物件 可以做很多真實物件做不的事情 //真實物件專注做自己的事情 public class StaticProxy { public static void main(String[] args) { WeddingCompany weddingCompany = new WeddingCompany(new You()); weddingCompany.happyMarry(); } } //結婚介面 interface Marry{ //人間四大喜事 //久旱逢甘霖 //他鄉遇故知 //洞房花燭夜 //金榜題名時 void happyMarry(); } //真實角色,你去結婚 class You implements Marry{ @Override public void happyMarry() { System.out.println("我要結婚了,超級開心!"); } } //代理角色,幫助你結婚 class WeddingCompany implements Marry{ //代理誰--》真實目標角色 private Marry target; public WeddingCompany(Marry target) { this.target = target; } @Override public void happyMarry() { before(); this.target.happyMarry();//這就是真實物件。 after(); } private void before() { System.out.println("結婚之前,佈置現場"); } private void after() { System.out.println("結婚之後,收尾款"); } } /*輸出結果 結婚之前,佈置現場 我要結婚了,超級開心! 結婚之後,收尾款 */