python 简单工厂模式

在这里插入图片描述
abc 是抽象类模块

abc.ABC 是继承抽象类 也可直接继承 (metaclass=ABCMeta)

abc.abstractmethod 是定义抽象方法

简单工厂模式:通过接口创建对象,但不会暴露对象创建逻辑

在设计模式中主要用于抽象对象的创建过程,让用户可以指定自己想要的对象而不必关心对象的实例化过程。

这样做的好处是用户只需通过固定的接口而不是直接去调用类的实例化方法来获得一个对象的实例,隐藏了实例创建过程的复杂度,

解耦了生产实例和使用实例的代码,降低了维护的复杂性。
http请求共6种(get,post,put,delete,options,head),现在我们用工厂模式来生成不同的请求对象.

-------欢迎加入python新手交流群851211580-------
import abc

class Method(abc.ABC):
    @abc.abstractmethod
    def request(self, url):
        pass


class Get(Method):
    def request(self, url):
        print("Get 请求地址:%s" % url)


class Post(Method):
    def request(self, url):
        print("Post 请求地址:%s" % url)


class Delete(Method):
    def request(self, url):
        print("Delete 请求地址:%s" % url)

# 生产对象


class MethodFactory:
    def create(self, method_name) -> Method:
        return eval(method_name)()  


if __name__ == '__main__':
    factory = MethodFactory()
    method = factory.create('Get')
    get = method.request('http://www.baidu.com')

最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值