반응형

Proxy Pattern 4

15. 프락시 패턴(Proxy Pattern) - 스마트 참조자 [Escort GoF의 디자인 패턴]

15. 프락시 패턴(Proxy Pattern) - 스마트 참조자 15.1 개요 이번에는 프락시 패턴 중에서 스마트 참조자에 대해 살펴보기로 합시다. 스마트 참조자는 다른 프락시 패턴들처럼 실제 개체를 사용하는 같은 방식으로 사용할 수 있습니다. 그리고 스마트 참조자에서는 자신 내부에 실제 개체(스마트 포인터)를 포함하고 있으며 복사 생성을 할 때의 실제 개체에 참조 개수를 추가하고 소멸을 할 때에는 참조 개수를 감소시켜 참조 개수가 0이 되면 실제 개체를 소멸해 줍니다. C++ 언어에서 스마트 참조자의 경우에는 클래스 형식의 포인터 변수를 사용하지 않아도 사용자가 개체의 생성과 소멸에 관한 책임을 하지 않아도 되게 해 줍니다. 또한, 비동기 프로그래밍할 때 스마트 참조자를 통해 실제 개체에 접근할 때 동..

14. 프락시 패턴(Proxy Pattern) - 보호용 프락시 [Escort GoF의 디자인 패턴]

14. 프락시 패턴(Proxy Pattern) - 보호용 프락시 14.1 개요 이번에는 프락시 패턴 중에서 보호 프락시에 대해 살펴보기로 합시다. 보호 프락시는 사용자가 실제 개체의 특정 행위를 수행할 수 있는 권한이 있는지를 확인할 필요가 있을 때 사용됩니다. 14. 2 시나리오 저녁에 가족들과 같이 TV를 시청하면서 사생활 보호에 관한 얘기를 나누게 되었어요. 얘기하다 보니 어디까지 공유해야 하고 보호해야 하는지에 대한 생각이 서로 많이 다르더군요. 얘기를 나누면서 우리 가족은 서로에 대한 신뢰를 바탕으로 자신이 생각이 제일 중요하다는 결론에 도달했습니다. 그리고 저는 방으로 들어가 새로운 형태의 사진 관리 응용을 만들어 보았습니다. 기존의 응용에서는 단순히 메모리 카드에 있는 사진을 옮기고 보정 작..

13. 프락시 패턴(Proxy Pattern) - 가상 프락시 [Escort GoF의 디자인 패턴]

13. 프락시 패턴(Proxy Pattern) - 가상 프락시 13.1 개요 이번에는 프락시 패턴 중에서 가상 프락시에 대해 살펴보기로 합시다. 가상 프락시는 실제 개체의 특정 행위를 수행하는 비용이 클 때 사용이 됩니다. 사용자가 가상 프락시 개체를 통해 비용이 많이 드는 작업을 요청하면 가상 프락시 개체는 이 작업을 별도의 쓰레드에서 수행하게 명령만 내립니다. 이를 통해 사용자는 비용이 큰 작업을 수행 요청했을 시에 수행이 완료될 때까지 기다리지 않고 다른 작업을 수행할 수 있게 됩니다. 13. 2 시나리오 여수 엑스포를 다녀와서 사진 보정 작업을 수행하였습니다. 그리고 이번에는 사진들을 소셜 사이트에 올려볼까 하는데 사진들의 사이즈가 너무 커서 모두 줄이고 올려야 했습니다. 사진 사이즈를 조절하는 ..

12. 프락시 패턴(Proxy Pattern) - 원격지 프락시 [Escort GoF의 디자인 패턴]

12. 프락시 패턴(Proxy Pattern) - 원격지 프락시 12.1 개요 프락시 패턴은 사용자가 사용하는 개체를 통해 실제 개체를 제어하게 하는 패턴입니다. 프락시 패턴을 사용하는 경우에는 제어하기 위한 개체가 사용자와 위치가 다른 경우에 사용자가 원격지에 있는 개체에 접근하기 쉽게 할 경우가 있습니다(원격지 프락시). 그리고 실제 개체의 특정 행위를 호출할 때 해당 작업이 완료되기를 기다리는 비용이 크다면 작업 요청을 대행하는 프락시 개체를 두어 사용자가 작업이 완료되기를 기다리지 않게 할 수 있습니다(가상 프락시). 이 외에도 권한에 따라 사용할 수 있는 수준이 다른 실 개체를 보호하기 위해 프락시 개체를 제공하는 방법(보호용 프락시)과 여러 곳에서 하나의 개체를 사용해야 한다면 참조 카운터를 ..

반응형