1. 程式人生 > >代理模式之靜態代理

代理模式之靜態代理

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(); } }

代理模式之靜態代理