设计模式002:简单工厂模式

该博客介绍了如何使用Python的工厂模式来创建支付接口,包括具体的支付宝支付和花呗支付实现。通过PaymentFactory类,可以根据传入的支付方法创建相应的支付对象,如'huabei'将使用花呗支付,而'alipay'则使用普通支付宝支付。示例代码展示了如何调用工厂方法创建支付对象并进行支付操作。
摘要由CSDN通过智能技术生成

在这里插入图片描述
工厂角色:payment_factory
抽象产品角色:payment
具体产品角色:Alipay
在这里插入图片描述

from abc import ABCMeta, abstractmethod

class Payment(metaclass = ABCMeta):
    def pay(self, money):
        pass

class AliPay(Payment):
    def __init__(self, use_huabei = False):
        self.use_huabei = use_huabei

    def pay(self, money):
        if self.use_huabei:
            print("花呗支付%d元." % money)
        else:
            print("支付宝支付%d元"% money)
class WechatPay:
    def pay(self, money):
        print("微信支付%d元"% money)

class PaymentFactory:
    def create_payment(self, method):
        if method == "alipay":
            return AliPay()
        elif method == "huabei":
            return AliPay(use_huabei = True)
        elif method == "wechat":
            return WechatPay()
        else:
            raise TypeError("No such payment named %s" % method)

#client
#隐藏类的内部实现
pf = PaymentFactory()
p = pf.create_payment("huabei")
p.pay(100)
花呗支付100.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值