01. 에이전트 모드

2213 단어
정의.
프 록 시 (Proxy) 는 디자인 모델 로 대상 에 대한 다른 접근 방식 을 제공 합 니 다.프 록 시 대상 을 통 해 대상 에 접근 하 는 것 입 니 다.
밤.
소 대 강 은 먹 지도 마 시 지도 않 고 집 을 사려 고 한다.
정적 에이전트
/**
 *     ,  
 * @author Administrator
 *
 */
public interface IZuo {
    //   
    void buyHouse();
}

/**
 *        
 * @author Administrator
 *
 */
public class SuDaQiang implements IZuo{
    @Override
    public void buyHouse() {
        System.out.print("          ");
    }
}

/**
 *        
 * @author Administrator
 *
 */
public class SuMingZhe implements IZuo{
    private IZuo iZuo;

    public SuMingCheng(IZuo iZuo) {
        this.iWanKe = iWanKe;
    }

    @Override
    public void buyHouse() {
        iWanKe.buyHouse();
    }
}

/**
 *   
 * @author Administrator
 *
 */
public class TestActivity  {
    public static void main(String[] args) {
        SuDaQiang suDaQiang = new SuDaQiang();
        SuMingZhe suMingCheng = new SuMingZhe (suDaQiang);
        suMingCheng.buyHouse();
    }
}

소 대 강 이 또 요괴 가 되 기 시작 했다. 나 는 채 근 화 보 배 를 원한 다. 어 떡 하지? 힘 들 어 죽 겠 어, 소명 철?동적 에이전트 에 게 맡 겨 주세요.
동적 에이전트
public class TestActivity  {
    public static void main(String[] args) {
        //    IZuo       ,     java      ,      jni
        IZuo zuo = (IZuo)Proxy.newProxyInstance(
                //ClassLoader
                IZuo.class.getClassLoader(), 
                //    
                new Class>[]{IZuo.class},
                new Handle(new SuDaQiang()));
        //         Handle invoke   
        zuo.buyHouse();
        //             ,              ,              
        zuo.marry();
    }
}
public class Handle implements InvocationHandler{
    private Object mObject; 
    public Handle(Object object) {
        this.mObject = object;
    }
    
    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        //               
        //         
        Object object = method.invoke(mObject, args);
        return object;
    }

}
  • 동적 대리 의 장점 은 목표 대상 이 기능 을 확장 할 때 대리 대상 을 수정 할 필요 가 없다 는 것 이다. 즉, 소 대 강 이 요괴 가 될 때 소명 철 을 괴 롭 히 지 않 아 도 된다 는 것 이다
  • .
  • 마지막 으로 우리 가 목표 대상 의 기능 을 확대 하면 장식 디자인 모델
  • 이다.

    좋은 웹페이지 즐겨찾기