패턴 정의: 퍼사드 패턴: 서브시스템의 인터페이스 세트에 대해 일관된 인터페이스를 제공하기 위해 서브시스템과의 외부 통신은 통합된 파사드 객체를 통해 수행되어야 합니다. 이 인터페이스는 이 서브시스템을 더 쉽게 만듭니다. 사용합니다. Appearance 모드는 객체 구조 모드인 Facade 모드라고도 합니다.
모드 구조:
코드 복사 코드는 다음과 같습니다.
class car {
public function start( ) {
print_r("자동차 시동");
}
public function check_stop() {
print_r("브레이크 점검이 정상입니다.")
}
public function check_box( ) {
print_r("연료 탱크가 정상인지 확인하세요");
}
public function check_console() {
print_r("계기판이 비정상인지 확인하세요"); }
}
// 파사드 모드
class carfacade {
public function catgo(car $carref){
$carref->check_stop()
$carref-> check_box();
$carref- >check_console();
$carref->start();
}
}
//클라이언트가 간단히 호출할 수 있습니다.
$car = 새 자동차()
$carObj = 새 carfacade()
$carObj->catgo($car)
코드는 다음과 같습니다./**
* 모양 모드 예
*
* 하위 시스템의 인터페이스 집합에 대해 일관된 인터페이스를 제공하고 이 하위 시스템을 더 쉽게 사용할 수 있도록 상위 수준 인터페이스를 정의합니다.
*/
class SubSystem1
{
공용 함수 Method1()
{
echo "subsystem1 method1
"
}
}
class SubSytem2
{
공용 함수 Method2 ()
{
echo "subsystem2 method2
"
}
}
class SubSystem3
{
공용 함수 Method3()
{
echo "subsystem3 method3
";
}
}
class Facade
{
private $_object1 = null
private $_object2 = null; >private $ _object3 = null;
공용 함수 __construct()
{
$this->_object1 = new SubSytem1()
$this->_object2 = new SubSytem2(); 🎜>$ this->_object3 = new SubSystem3();
}
공용 함수 MethodA() {
echo "Facade MethodA
"
$this->_object1 -> Method1();
$this->_object2->Method2()
}
공용 함수 MethodB() {
echo "Facade MethodB
";
$this->_object2->Method2()
$this->_object3->Method3();
}
}// 인스턴스화
$ objFacade = new Facade();
$objFacade->MethodA()
$objFacade->MethodB();
위 내용은 headfirst 디자인 패턴의 내용을 포함해 headfirst 디자인 패턴, PHP 디자인 패턴, Facade 외관 패턴을 소개하고 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.