우 육시 엉 - 타고난 플라이급 자바 EE 엔터프라이즈 애플리케이션 개발 Struts2Sping4Hibernate 통합 개발 연구 노트 : 엔터프라이즈 애플리케이션 개발 사고와 전략 _Proxy

/ **
 * 설명 :
 * <BR/>의 웹 사이트 : <a href=" http://www.crazyit.org "> 미친 자바 리그 </a>를
 * <BR/> 저작권 (C) 2001년부터 2016년까지, Yeeku.H.Lee
 * <BR/>이 프로그램은 저작권법에 의해 보호됩니다.
 * 프로그램 이름 <BR/> :
 * <BR/> 날짜 :
 * 저자   YeekuHLee kongyeeku163com
 * @version   1.0
  * /

//이 BigImage 큰 그림 시뮬레이션 사용하는 
공공의  클래스를 BigImage 구현의 이미지를
{
    공공 BigImage ()
    {
        시험
        {
            // 프로그램 3S 중지 모드 시뮬레이션 오버 
            에 Thread.sleep (3000 );
            에서 System.out.println는 ( "사진이 성공적으로로드 ..." );
        }
        캐치 (예외 : InterruptedException 예)
        {
            ex.printStackTrace ();
        }
    }
    // 쇼 () 메소드에서 이미지를 달성 
    공공  무효 ) (쇼
    {
        에서 System.out.println ( "진짜 큰 그림을 그릴" );
    }
}
/ **
 * 설명 :
 * <BR/>의 웹 사이트 : <a href=" http://www.crazyit.org "> 미친 자바 리그 </a>를
 * <BR/> 저작권 (C) 2001년부터 2016년까지, Yeeku.H.Lee
 * <BR/>이 프로그램은 저작권법에 의해 보호됩니다.
 * 프로그램 이름 <BR/> :
 * <BR/> 날짜 :
 * 저자   YeekuHLee kongyeeku163com
 * @version   1.0
  * / 
공공  클래스 BigImageTest
{
    공공  정적  무효 메인 (문자열 []에 args)
    {
         시작 = 에 System.currentTimeMillis는 ();
         //는 이미지 객체 프록시 객체를 만 BigImage 반환 
        이미지 이미지 = 새로운 새로운 ImageProxy 라 ( 널 (null)를 );
        에서 System.out.println이 ( "시간 시스템 오버 헤드가 이미지 개체를 얻을 :"+ 
             (에 System.currentTimeMillis () - 시작));
         // 만 쇼 () 메소드는 실제로 이미지 프록시를 호출 프로그램은 정말 프록시를 생성합니다 객체입니다. 
        () image.show;
    }
}
/ **
 * 설명 :
 * <BR/>의 웹 사이트 : <a href=" http://www.crazyit.org "> 미친 자바 리그 </a>를
 * <BR/> 저작권 (C) 2001년부터 2016년까지, Yeeku.H.Lee
 * <BR/>이 프로그램은 저작권법에 의해 보호됩니다.
 * 프로그램 이름 <BR/> :
 * <BR/> 날짜 :
 * 저자   YeekuHLee kongyeeku163com
 * @version   1.0
  * / 
공공의  인터페이스 이미지
{
    무효 표시 ();
}
/ **
 * 설명 :
 * <BR/>의 웹 사이트 : <a href=" http://www.crazyit.org "> 미친 자바 리그 </a>를
 * <BR/> 저작권 (C) 2001년부터 2016년까지, Yeeku.H.Lee
 * <BR/>이 프로그램은 저작권법에 의해 보호됩니다.
 * 프로그램 이름 <BR/> :
 * <BR/> 날짜 :
 * 저자   YeekuHLee kongyeeku163com
 * @version   1.0
  * / 
공용  클래스 있는 ImageProxy의 구현의 이미지
{
    // 하나 개의 예를 들어, 이미지, 같은 프록시 개체의 조합 
    개인 이미지 이미지;
     // 프록시 객체 추상적 인 실체 초기화하는 데 사용 
    공공 있는 ImageProxy (이미지 이미지)
    {
         이미지입니다 = 이미지;
    }
    / **
     * 다시 쓰기 이미지 인터페이스 표시 () 메소드
     * 프록시 객체에 대한 접근을 제어하기위한 방법에있어서,
     * 생성 및 프록시 객체를 삭제하기위한 책임이 필요
     * / 
    공공  무효 쇼 ()
    {
        // 쇼가 정말 개체의 이미지를 호출 할 때이 방법을 만든 경우에만 프록시 할 
        IF (이미지 == null이 )
        {
            이미지 = 새로운 BigImage을 ();
        }
        () image.show;
    }
}

 

추천

출처www.cnblogs.com/tszr/p/12376447.html