headfirst 디자인 패턴 PHP 디자인 패턴 외관 패턴

WBOY
풀어 주다: 2016-07-29 08:45:47
원래의
1079명이 탐색했습니다.

패턴 정의: 퍼사드 패턴: 서브시스템의 인터페이스 세트에 대해 일관된 인터페이스를 제공하기 위해 서브시스템과의 외부 통신은 통합된 파사드 객체를 통해 수행되어야 합니다. 이 인터페이스는 이 서브시스템을 더 쉽게 만듭니다. 사용합니다. Appearance 모드는 객체 구조 모드인 Facade 모드라고도 합니다.
모드 구조:

 php设计模式 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 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿