PHP设计模式-代理模式
2013-07-30 12:14
686 查看
代理就是帮别人代干某事。例如,我每个月都要去银行交一次水费。
interface Payable { public function pay($amount); } class MyAccount implements Payable { public function pay($amount) { echo "交水费"; } }后来,同事告诉我,现在都不用到银行交消费了,通过支付宝就可以了(即支付宝也必须实现pay())。于是我把我的银行帐号与支付宝绑定.
class AlipayAccount implements Payable { //我的银行帐户 protected $_myBankAccount; public function __construct($account) { $this->_myBankAccount = $account; } public function pay($amount) { $this->_myBankAccount->pay(); } }这样我以后交水费都不用往银行跑,直接用支付宝交钱就可以了。这就是代理模式,即我通过支付宝来支付我的水费。这样我还觉得麻烦,那支付宝又提供了一个功能就是每月定时交水费。支付宝每月会到自来水公司查询系统查询到我当月的水费交缴数额。然后每月自动交费。这功能太好了。那我就可以完全解脱出来了。
class AlipayAccount implements Payable { //我的银行帐户 protected $_myBankAccount; public function __construct($account) { $this->_myBankAccount = $account; } //每月自动支付 public function payEveryMonth() { //代码略 } //获取本月水费额 public function getAmount() { //代码略 } //支付 public function pay($amount) { $this->_myBankAccount->pay(); } }这样看来,代理模式可以在不用修改原代码功能的基础上,可以添加新功能。并且能从复杂的逻辑中解脱出来。这就是它的优点。
相关文章推荐
- PHP设计模式之代理模式的深入解析
- 9. 星际争霸之php设计模式--代理模式
- php设计模式之———代理模式
- PHP设计模式——代理模式
- php-设计模式-代理模式
- 24种设计模式介绍与6大设计原则(PHP版)之代理模式
- 初识PHP设计模式--代理模式
- PHP设计模式-代理模式
- php设计模式 Proxy (代理模式)
- PHP设计模式系列(三):代理模式
- php中的设计模式之--代理模式
- PHP设计模式(7)代理模式
- PHP 设计模式之代理模式
- php 设计模式(代理模式)
- php实现设计模式之代理模式
- php 设计模式之 代理模式,适配器模式,外观模式
- PHP草根论之设计模式-代理模式
- [php]php设计模式 Proxy (代理模式)
- PHP与MySQL设计模式:代理模式