Python实现适配器模式、装饰器模式、代理模式

今天介绍三种结构型设计模式:适配器模式、装饰器模式、代理模式

适配器模式

适配器模式,用于将一个类的接口转换为另一个接口,以满足客户端的需求。在Python中,适配器模式可以通过继承或组合来实现。

以下是一个使用继承实现适配器模式的示例:

class Target:
    def request(self):
        pass

class Adaptee:
    def specific_request(self):
        pass

class Adapter(Target, Adaptee):
    def request(self):
        self.specific_request()

在上面的示例中,Target是目标接口,Adaptee是需要适配的类,Adapter是适配器类,它继承了TargetAdaptee,并实现了request方法,将specific_request方法转换为request方法。

装饰器模式

装饰器模式,用于动态地给一个对象添加额外的功能,而不需要修改原始类的代码。在Python中,装饰器模式可以通过函数和类来实现。

以下是一个使用函数实现装饰器模式的示例:

def decorator(func):
    def wrapper(*args, **kwargs):
        # 在函数调用前添加额外的功能
        result = func(*args, **kwargs)
        # 在函数调用后添加额外的功能
        return result
    return wrapper

@decorator
def target():
    pass

在上面的示例中,decorator是装饰器函数,它接受一个函数作为参数,并返回一个新的函数wrapperwrapper函数在调用原始函数之前和之后添加了额外的功能。@decorator语法是Python中的语法糖,它等同于target = decorator(target)

代理模式

代理模式,用于控制对另一个对象的访问。在Python中,代理模式可以通过继承或组合来实现。

以下是一个使用组合实现代理模式的示例:

class Subject:
    def request(self):
        pass

class RealSubject(Subject):
    def request(self):
        pass

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

    def request(self):
        # 在调用真实主题之前或之后添加额外的功能
        self.real_subject.request()

在上面的示例中,Subject是主题接口,RealSubject是真实主题类,Proxy是代理类,它包含一个真实主题对象,并实现了request方法,可以在调用真实主题之前或之后添加额外的功能。

学习资源推荐
除了上述分享,学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述
👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以V扫描下方二维码联系领取
保证100%免费

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值