headfirst design pattern php design pattern Facade appearance pattern

WBOY
Release: 2016-07-29 08:45:47
Original
1050 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.
Mode structure:

 php设计模式 Facade外观模式

The appearance mode is to allow the client to call a more complex system in a simple way to complete one thing.
Subsystem:

Copy the code The code is as follows:


class car {
public function start() {
print_r("Car starts");
}
public function check_stop() {
print_r("Brake Check normal");
}
public function check_box() {
print_r("Check the fuel tank is normal");
}
public function check_console() {
print_r("Check whether the dashboard 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 the 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();

The above introduces the headfirst design pattern, PHP design pattern, and Facade appearance pattern, including the content of the headfirst design pattern. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
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