代理模式之靜態代理
阿新 • • 發佈:2018-10-04
system rri host after int 授權 @param () 說明
package edu.aeon.proxy; /** * 說明:靜態代理 角色:真實角色、代理角色 條件:兩種覺得必須實現同一接口 例子:1.北京找房(中介) 2.結婚(找婚慶公司)...等 * * @author lzj */ public interface Rent { void lease(); } class Host implements Rent { /** * 主人:出租房屋 */ @Override public void lease() { System.out.println("房屋出租!"); } }class Agent implements Rent { private Rent host; /** * 代理商(中介必須獲得房屋出租權) * * @param host */ public Agent(Rent host) { this.host = host; } /** * 代理商出租房屋 */ @Override public void lease() { before(); host.lease(); after(); }void before() { System.out.println("出租房屋前:帶客戶看房!"); } void after() { System.out.println("出租房屋後:簽訂合同!"); } }
測試類:
package edu.aeon.proxy; /** * 說明:靜態代理模式 * * @author lzj * */ public class TestProxy { public static void main(String[] args) { Host host= new Host(); // 代理商或者中介必須獲得房主的授權才能出租房屋 Agent agent = new Agent(host); agent.lease(); } }
代理模式之靜態代理