Study/ Design Patterns c++
Design Patterns PROXY 프록시 패턴 C++
MJ_DL
2018. 7. 2. 19:08
PROXY 프록시 패턴
- 대리자를 통해 다른 객체에 대한 접근을 제어.
- 자신이 상대하는 대상과 동일할 인터페이스 제공
- 원격지 프록시, 가상 프록시, 보호용 프록시, 스마트 참조자(스마트 포인터)가 있다.
#include <iostream> using namespace std; class Subject{ public: virtual void request() = 0; }; class RealSubject : public Subject{ public: void request() { cout << "RealSubject Requset" << endl; } }; class Proxy : public Subject{ public: Proxy() :_realsubject(nullptr) {} ~Proxy() { if(_realsubject) delete _realsubject; } void request(){ if(!_realsubject) _realsubject = new RealSubject; _realsubject->request(); } private: RealSubject* _realsubject; }; int main(){ Subject* Proxyptr = new Proxy(); Proxyptr->request(); delete Proxyptr; return 0; }