简单工厂模式
类别
简单工厂模式又称之为静态工厂方法,属于创建型模式。
应用场景
在简单工厂模式中,可以根据传递的参数不同,返回不同类的实例。简单工厂模式定义了一个类,这个类专门用于创建其他类的实例,这些被创建的类都有一个共同的父类。
代码实现
1 |
|
个人理解
首先我们要知道抽象类中只能有抽象方法,子类继承抽象类时,不能通过实例化使用其抽象方法,必须实现该方法。在Python3中引入了abc模块,通过@abc.abstractmethod可以更加简洁地使用抽象类,抽象方法。在上面的代码中可以看出有三个角色:
抽象产品角色:Payment类,定义产品的必要功能。
具体产品角色:Alipay,Wechat类,具体实例化出来的对象。
工厂角色:Paymethod类,根据参数输出具体产品。
优缺点
优点:用户只需要传入具体产品,就可以得到实例化的类,不需要知道具体实现过程。
缺点:如果具体产品角色很多的时候,定义简单工厂就会比较麻烦。不利于扩展。