2,代理模式

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

  • UML图示:
2,代理模式_第1张图片
Paste_Image.png

简单的例子:人通过火车票代售点买火车票,此时代售点是一种代理模式,人和火车站售票窗口不接触,而是通过代理点去买票。(懒得写父类了,自己注意)
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()

  • 执行结果:
Paste_Image.png
  • 代理模式的使用场景:
    • 远程代理
    • 虚拟代理
    • 权限控制
    • 等等

个人理解: 所谓代理,就是,我帮你做事你想做的事,用的全是你的资源

你可能感兴趣的:(2,代理模式)