Home > Backend Development > PHP Tutorial > PHP design pattern Facade (appearance mode)_PHP tutorial

PHP design pattern Facade (appearance mode)_PHP tutorial

WBOY
Release: 2016-07-21 15:27:19
Original
1217 people have browsed it

Pattern definition: Facade Pattern: External communication with a subsystem must be carried out through a unified facade object to provide a consistent interface for a set of interfaces in the subsystem. The facade pattern defines a high-level interface. This interface Makes this subsystem easier to use. Appearance mode is also called facade mode, which is an object structure mode.
Pattern structure:

Appearance mode allows the client to call a more complex system in a simple way to complete one thing.

Subsystem:
Copy code The code is as follows:

class car {
public function start( ) {
print_r("Car starts");
}
public function check_stop() {
print_r("Brake check is normal");
}
public function check_box() {
print_r("Check if the fuel tank is normal");
}
public function check_console() {
print_r("Check if the instrument panel is abnormal");
}
}

//facade mode
class carfacade {
public function catgo(car $carref){
$carref->check_stop();
$carref->check_box();
$carref->check_console();
$carref->start();
}
}
//The client can simply call it.
$car = new car();
$carObj = new carfacade();
$carObj->catgo($car);

Copy code The code is as follows:

/**
* Appearance pattern example
*
* Provide a consistent interface for a set of interfaces in the subsystem and define a high-level interface to make this subsystem easier to use
*/
class SubSytem1
{
public function Method1()
{
echo "subsystem1 method1
";
}
}

class SubSytem2
{
public function Method2 ()
{
echo "subsystem2 method2
";
}
}

class SubSytem3
{
public function Method3()
{
echo "subsystem3 method3
";
}
}

class Facade
{
private $_object1 = null;
private $ _object2 = null;
private $_object3 = null;

public function __construct()
{
$this->_object1 = new SubSytem1();
$this-> ;_object2 = new SubSytem2();
$this->_object3 = new SubSytem3();
}

public function MethodA() {
echo "Facade MethodA
$this->_object1->Method1();
$this->_object2->Method2();
}

public function MethodB() {
echo "Facade MethodB
";
$this->_object2->Method2();
$this->_object3->Method3();
}
}

// Instantiate
$objFacade = new Facade();

$objFacade->MethodA();
$objFacade->MethodB ();

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/323791.htmlTechArticlePattern definition: Facade Pattern: External communication with a subsystem must pass through a unified facade object To provide a consistent interface to a set of interfaces in a subsystem...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template