달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'JAVA이야기'에 해당되는 글 119

  1. 2012.12.18 프록시 패턴
2012. 12. 18. 10:08

프록시 패턴 JAVA이야기2012. 12. 18. 10:08

프록시 패턴

- 예를들어, A객체는 리소스(메모리, 디스크, ...)를 많이 사용하지만, 그러한 리소스를 사용하지 않고 간단한 함수를 호출할 경우도 있다. 이럴 경우엔 프록시(대리자)를 두어서 간단한 일은 프록시가 처리하고, 무거운 일은 실제 객체를 생성하여 처리할 수 있도록 하여 성능 향상을 꾀한다.

- 간단한 일을 사용할 때는 프록시에서 처리하고 , 복잡하고 중요한 일을 할때는 실제 클래스를 가져와서 수행하도록 한다.

package com.hooney.samsung;


public interface Service {


public void importantMethod();

public void simpleMethod();

}


package com.hooney.samsung;


public class 서비스구현 implements Service {


int k = 0;


@Override

public void importantMethod() {

// TODO Auto-generated method stub

for (int i = 0; i < 10000; i++) {

for (int j = 0; j < 100000; j++) {

k++;

}

}

}


@Override

public void simpleMethod() {

// TODO Auto-generated method stub

System.out.println("간단한 일");

}


}


package com.hooney.samsung;


public class 프록시 implements Service{


private Service s;

@Override

public void importantMethod() {

// TODO Auto-generated method stub

try {

s = (Service) Class.forName("서비스구현").newInstance();

s.importantMethod();

} catch (InstantiationException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}


@Override

public void simpleMethod() {

// TODO Auto-generated method stub

System.out.println("간단한 일");

}


}






'JAVA이야기' 카테고리의 다른 글

옵저버 패턴  (0) 2012.12.15
브릿지 패턴  (0) 2012.12.11
어댑터 패턴  (0) 2012.12.11
퍼사드 패턴  (0) 2012.12.11
jni double[][] 배열 가져오기  (0) 2012.08.11
:
Posted by НooпeУ


Code Start Code End