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 ();
http://www.bkjia.com/PHPjc/323791.htmlwww.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...