代理模式經(jīng)常用在RPC中,用來控制真實訪問的對象訪問歌溉。比較容易理解垄懂,我們來看一個簡單的例子:
# coding=utf8
class Interface:
def Request(self):
pass
class RealSubject(Interface):
"""
這個是我們要訪問的真實接口
"""
def Request(self):
print "Real request."
class Proxy(Interface):
"""
這個是我們的代理接口
"""
def Request(self):
self.real = RealSubject()
self.real.Request()
if __name__ == "__main__":
p = Proxy()
p.Request()
這里我們通過Proxy對真實接口的引用,來進(jìn)行真實接口訪問控制痛垛。如果我們在真實接口中有些方法不想被直接訪問草慧,就可以在Proxy中控制。