php设计模式(16)代理模式

2017-03-31 13:42:43 admin ...

前言

php常用的设计模式这是最后一节了,虽然阅读量不是太高,但是我想,我坚持下来了,也用心写了,另外也可能是水平不够。总之,我又一次梳理了设计模式,对我有益,发出来给大家阅读,也希望对大家是个参考,这就足够了。

内容概要:

1、什么是代理模式

2、PHP代理模式UML

3、代理模式的PHP示例代码

一、什么是代理模式

我觉得,代理模式是最好理解的模式,名字上就能看的出来。比如,你找老总们签字,一般先给秘书,由秘书代替你找老总签字,这就是代理模式。

话是这么说,我们还是先看看比较正经的说法:

代理模式为其他对象提供一种代理以控制对这个对象的访问。

在实际应用中,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。

正经说法让我想起了另一个例子:房屋租售中介,类比代理设计模式估计更合适。

代理模式涉及三个角色:

抽象主题角色(IGiveGift):一个规则,中介和房东都有的共同方法。

主题角色(Follower):相当于房东。

代理对象(Proxy):相当于中介。

二、UML图

借用博客园博主lhb62232397的图片使用一下,谢谢博主!

三、代理模式的PHP示例代码

本来使用老总和秘书的例子写了个示例代码。后来想了想,还是房屋中介的例子更能体现php的代理模式。所以,我两个都发出来吧。

PHP代理模式示例代码一:

PHP代码运行结果:

张总同意

PHP代理模式示例代码二:

PHP代码运行结果:

张三卖房子

相似文章