python版本的代理模式

# -*- coding:UTF-8 -*-
import abc


class Subject(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def request(self):
        pass


class RealSubject(Subject):
    def request(self):
        print("真实的请求")


class Proxy(Subject):
    def __init__(self):
        self.real_subject=None

    def request(self):
        if self.real_subject is None:
            self.real_subject=RealSubject()
        self.real_subject.request()


if __name__=="__main__":
    proxy = Proxy()
    proxy.request()

 

posted @ 2018-01-25 15:25  gjw  阅读(111)  评论(0)    收藏  举报