php门面facade提示,学习php设计模式 php实现门面模式(Facade)

PHP;">

PHP

class Camera {

/**

打开录像机

*/

public function turnOn() {

echo 'Turning on the camera.

';

}

/**

关闭录像机

*/

public function turnOff() {

echo 'Turning off the camera.

';

}

/**

转到录像机

@param $degrees

*/

public function rotate($degrees) {

echo 'rotating the camera by ',$degrees,' degrees.

';

}

}

class Light {

/**

开灯

*/

public function turnOn() {

echo 'Turning on the light.

';

}

/**

关灯

*/

public function turnOff() {

echo 'Turning off the light.

';

}

/**

换灯泡

*/

public function changeBulb() {

echo 'changing the light-bulb.

';

}

}

class Sensor {

/**

启动感应器

*/

public function activate() {

echo 'Activating the sensor.

';

}

/**

关闭感应器

*/

public function deactivate() {

echo 'Deactivating the sensor.

';

}

/**

触发感应器

*/

public function trigger() {

echo 'The sensor has been trigged.

';

}

}

class Alarm {

/**

启动警报器

*/

public function activate() {

echo 'Activating the alarm.

';

}

/**

关闭警报器

*/

public function deactivate() {

echo 'Deactivating the alarm.

';

}

/**

拉响警报器

*/

public function ring() {

echo 'Ring the alarm.

';

}

/**

停掉警报器

*/

public function stopRing() {

echo 'Stop the alarm.

';

}

}

/**

门面类

*/

class SecurityFacade {

/录像机/

private $_camera1,$_camera2;

/灯/

private $_light1,$_light2,$_light3;

/感应器/

private $_sensor;

/警报器/

private $_alarm;

public function __construct() {

$this->_camera1 = new Camera();

$this->_camera2 = new Camera();

$this->_light1 = new Light();

$this->_light2 = new Light();

$this->_light3 = new Light();

$this->_sensor = new Sensor();

$this->_alarm = new Alarm();

}

public function activate() {

$this->_camera1->turnOn();

$this->_camera2->turnOn();

$this->_light1->turnOn();

$this->_light2->turnOn();

$this->_light3->turnOn();

$this->_sensor->activate();

$this->_alarm->activate();

}

public function deactivate() {

$this->_camera1->turnOff();

$this->_camera2->turnOff();

$this->_light1->turnOff();

$this->_light2->turnOff();

$this->_light3->turnOff();

$this->_sensor->deactivate();

$this->_alarm->deactivate();

}

}

/**

客户端

*/

class Client {

private static $_security;

/**

Main program.

*/

public static function main() {

self::$_security = new SecurityFacade();

self::$_security->activate();

}

}

Client::main();

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值