定义:

工厂模式依然是一种创建型设计模式,作为工厂,它所关心的是产品的产生,也就是对象的创建,我们利用工厂来创建对象,而不必我们亲自创建对象,我们无需去理解如何创建对象,只需要向工厂提出要求,让工厂去根据你的要求,给你生产你要的产品,给你相应的对象,这种模式便叫做工厂模式。

工厂模式的优点:

  1. 松耦合,创建的对象独立于类的实现
  2. 用户无需了解创建对象的类,仅需知道传递的接口,参数,方法。便可以创建所需的对象。
  3. 易于扩展。工厂添加其他的类的数据类型,仅需要修改参数即可。

实现:

「1」简单工厂模式:

from abc import ABCMeta,abstractmethod
#ABCMeta是python的一个元类,用于在Python程序中创建抽象基类,抽象基类中声明的抽象方法,使用abstractmethod装饰器装饰。
class Coke(metaclass=ABCMeta):
    @abstractmethod
    def drink(self):
        pass

class Coca(Coke):
    def drink(self):
        print('drink Coca-Cola')

class Pepsi(Coke):
    def drink(self):
        print('drink Pepsi-Cola')

class Fast_food_restaurant():
    def make_coke(self ,name):
        return eval(name)()

KCD=Fast_food_restaurant()
coke=KCD.make_coke('Coca')
coke.drink()
#drink Coca-Cola

eval(类名)返回的是一个class类型的对象
我们建立一个可乐的抽象类,百事可乐和可口可乐继承这个抽象类,我们又建立了快餐店类,也就是所说的工厂类,让它生产可乐。当用户需要可乐时,只需要告诉快餐店做一份什么品牌的可乐,告诉快餐店可乐的名字,然后快餐店使用make_coke方法做可乐,返回了你所需要的对象——一杯可口可乐,然后就可以快乐的喝可乐了。。
View Code

相关文章:

  • 2022-12-23
  • 2021-05-21
  • 2022-12-23
  • 2021-04-29
  • 2021-08-15
  • 2021-06-28
  • 2021-10-31
  • 2021-12-08
猜你喜欢
  • 2021-12-17
  • 2021-07-22
  • 2022-01-09
  • 2021-09-22
相关资源
相似解决方案