设计模式(Python语言)----简单工厂模式(python的工厂模式)

网友投稿 310 2022-08-23


设计模式(Python语言)----简单工厂模式(python的工厂模式)

更多信息请参考 【设计模式】

简单工厂模式含义

不直接向客户端暴露对象创建的实现细节,而是通过一个工厂类来负责创建产品类的实例

简单工厂模式中的角色

工厂角色(Creator)抽象产品角色(Product)具体产品角色(Concrete Product)

优点

隐藏了对象创建的细节客户端不需要修改代码

缺点

违反了单一职责原则,将创建逻辑集中到一个工厂类里当增加新产品时,需要修改工厂类代码,违反了开闭原则

简单工厂模式示例:

代码如下:

import abcclass Payment(metaclass=abc.ABCMeta): @abc.abstractmethod def pay(self,money): passclass Alipay(Payment): def pay(self,money): print(f"pay {money} in alipay way....")class WeChatPay(Payment): def pay(self,money): print(f"pay {money} in wechat pay way...")class PaymentFactory(object): def create_payment(self,method): if method=="alipay": return Alipay() elif method=="wechat": return WeChatPay() else: raise TypeError(f"no such payment named {method}")if __name__=="__main__": pf=PaymentFactory() p=pf.create_payment("alipay") p.pay(100)

执行结果如下:

pay 100 in alipay way....


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring事务的失效场景你知道多少
下一篇:设计模式(Python语言)----建造者模式(设计模式python实现)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~