设计模式(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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~