에이전트는 캐릭터가 다른 캐릭터를 대신하여 행동하는 것을 의미합니다. 인생에서와 마찬가지로 와인 제조업체는 와인을 소매 고객에게 직접 판매하지 않고 에이전트를 통해 판매를 완료합니다. 고객은 레드와인을 마시기 위해 여기저기 공장을 찾아다닐 필요가 없고, 레드와인 공장의 구체적인 위치를 신경쓰지 않고 현지 생산업체를 찾기만 하면 된다. 대리인이 그를 위해 처리할 것입니다.
프록시 모드는 특정 객체에 대한 프록시 객체를 제공하는 것이며, 프록시 객체는 특정 객체의 참조를 제어합니다.
프록시 패턴과 관련된 역할:
추상 테마 역할은 프록시 테마와 실제 테마 사이의 공개 인터페이스를 선언하므로 실제 테마가 필요한 모든 위치를 프록시 테마로 대체할 수 있습니다.
프록시 테마 역할에는 실제 테마에 대한 참조가 포함되어 있어 언제든지 실제 테마를 조작할 수 있습니다. 프록시 테마 기능은 실제 테마와 동일한 인터페이스를 제공하므로 언제든지 실제 테마를 대체할 수 있습니다. 시간. 실제 주제에 대한 참조를 보유함으로써 프록시 주제는 실제 주제의 생성 또는 삭제를 제어할 수 있을 뿐만 아니라 실제 주제가 호출되기 전에 가로채거나 호출 후에 특정 작업을 수행할 수도 있습니다.
실제 프록시 개체는 프록시 역할이 나타내는 특정 개체를 정의합니다.
코드 참조:
코드 복사 코드는 다음과 같습니다:
/**
* 프록시 패턴
*
* 이 객체에 대한 액세스를 제어하기 위해 다른 객체에 대한 프록시 제공
*
*/
인터페이스 프록시
{
공용 함수 request();
공용 함수 display()
}
class RealSubject
{
공개 함수 요청()
{
echo "RealSubject 요청
"
}
공개 함수 표시()
{
echo "RealSubject 표시
";
}
}
class ProxySubject
{
private $_subject = null;
public function __construct()
{
$this-> ;_subject = new RealSubject ();
}
공개 함수 요청()
{
$this->_subject->request()
}
공개 함수 표시 ()
{
$this->_subject->display();
}
}
$objProxy = new ProxySubject()
$objProxy->request ();
$objProxy->display();
위에서 내용의 측면을 포함하여 PHP 디자인 패턴 프록시 프록시 모드를 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.