版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011747152/article/details/85833865
# #单例模式
# class Singleton(object):
# __instance=None
# __isFirst=True
# def __new__(cls, *args, **kwargs):
# if(cls.__instance is not None):
# Singleton.__instance=cls.__instance
# cls.__instance
# def __init__(self,name):
# self.name=name
# t=Singleton("t")
# a=Singleton("a")
# print(id(t)," and ",id(a))
#
# def singleton(cls,*args,**kwargs):
# instance={}
# def wrapper(*args,**kwargs):
# if(cls not in instance):
# instance[cls] = cls(*args, **kwargs)
# instance[cls]
# return wrapper
# @singleton
# class Girl(object):
# def __init__(self,name):
# self.name=name
# t=Girl("t")
# a=Girl("a")
# print(id(t)," and ",id(a))
#代理模式 Subject RealSubject ProxySubject
# class Subject():
# def request(self):
# pass
# class RealSubject(Subject):
# def request(self):
# print("real requst")
# class ProxySubject(Subject):
# def __init__(self,realRequest):
# self.__realRequest=realRequest
# def preRequest(self):
# print("pre")
# def request(self):
# self.preRequest()
# if(self.__realRequest is not None):
# self.__realRequest.request()
# self.afterRequest()
# def afterRequest(self):
# print("after")
# r = RealSubject()
# p=ProxySubject(r)
# p.request()