- 简单工厂:一个工厂类,一个产品抽象类。
- 工厂方法:多个工厂类,一个产品抽象类。
- 抽象工厂:多个工厂类,多个产品抽象类。
-
# 抽象产品,具体产品,工厂 # 抽象工厂,一个工厂有多个产品 import abc class Factory(metaclass=abc.ABCMeta): def create_phone(self): pass def create_compute(self): pass class Phone(metaclass=abc.ABCMeta): def call(self): pass def do_explore(self): pass class MiPhone(Phone): def call(self): print("小米手机打电话") def do_explore(self): print("小米手机上网") class IPhone(Phone): def call(self): print("iphone手机打电话") def do_explore(self): print("iphone手机上网") class LenovoPhone(Phone): def call(self): print("联想手机打电话") def do_explore(self): print("联想手机上网") class AppleFactory(Factory): def create_phone(self): return IPhone() def create_compute(self): return Mac() class LenovoFactory(Factory): def create_phone(self): return LenovoPhone() def create_compute(self): return LenovoComputer() class MiFactory(Factory): def create_phone(self): return MiPhone() def create_compute(self): return MiComputer() class Computer(metaclass=abc.ABCMeta): def do_work(self): pass class Mac(Computer): def do_work(self): print("我在用MAc工作") class MiComputer(Computer): def do_work(self): print("我在用小米电脑工作") class LenovoComputer(Computer): def do_work(self): print("我在用联想电脑工作") if __name__ == "__main__": phone = LenovoFactory().create_phone() phone.call() phone.do_explore() computer = LenovoFactory().create_compute() computer.do_work()
抽象工厂模式
最新推荐文章于 2024-09-15 16:31:23 发布
本文介绍了面向对象编程中的简单工厂、工厂方法和抽象工厂模式。通过Python代码展示了如何创建不同品牌(如苹果、联想、小米)的手机和电脑,强调了各个模式的结构和使用场景。在示例中,`Factory`类作为抽象基类,派生出不同的具体工厂,如`AppleFactory`、`LenovoFactory`和`MiFactory`,每个工厂能创建对应的手机和电脑产品。
摘要由CSDN通过智能技术生成