为其他对象提供一种代理以控制这个对象的访问
- UML图示:
简单的例子:人通过火车票代售点买火车票,此时代售点是一种代理模式,人和火车站售票窗口不接触,而是通过代理点去买票。(懒得写父类了,自己注意)
python
class RailwayStation:
def __init__(self):
pass
def seal(self):
print("火车站在售票")
class Proxy:
def __init__(self):
self.r=RailwayStation()
def seal(self):
print("处在代理模式中,但是我本身不卖票")
self.r.seal();
if __name__=="__main__":
p=Proxy()
p.seal()
- 执行结果:
- 代理模式的使用场景:
- 远程代理
- 虚拟代理
- 权限控制
- 等等
个人理解: 所谓代理,就是,我帮你做事你想做的事,用的全是你的资源
网友评论