
通俗说就是,A代理B做了一些B不方便露面的事情,见不得人的勾当。
from abc import abstractmethod, ABC
'''送礼物抽象接口类'''
class GiveGift(ABC):
@abstractmethod
def give_dolls(self):
pass
@abstractmethod
def give_flowers(self):
pass
@abstractmethod
def give_chocolate(self):
pass
@abstractmethod
def give_letters(self):
pass
'''追求者类'''
class Pursuit(GiveGift):
def __init__(self, mm):
self.mm = mm
def give_dolls(self):
print(self.mm + " 送你洋娃娃")
def give_flowers(self):
print(self.mm + " 送你鲜花")
def give_chocolate(self):
print(self.mm + " 送你巧克力")
def give_letters(self):
print(self.mm + " 送你情书")
'''代理类'''
class Proxy(GiveGift):
def __init__(self, pursuit):
self.gg = pursuit
def give_dolls(self):
self.gg.give_dolls()
def give_flowers(self):
self.gg.give_flowers()
def give_chocolate(self):
self.gg.give_chocolate()
def give_letters(self):
self.gg.give_letters()
if __name__ == '__main__':
pursuit = Pursuit('杨超越')
proxy = Proxy(pursuit)
proxy.give_dolls()
proxy.give_chocolate()
proxy.give_flowers()
proxy.give_letters()
本文通过一个具体的Python示例介绍了代理模式的概念及其应用场景。代理模式允许程序员为另一个对象提供一个替身或占位符,以便控制对这个对象的访问。在示例中,通过定义一个抽象接口类和具体实现类来展示如何使用代理模式处理送礼物的行为。
1473

被折叠的 条评论
为什么被折叠?



