- 简单工厂:一个工厂类,一个产品抽象类。
- 工厂方法:多个工厂类,一个产品抽象类。
- 抽象工厂:多个工厂类,多个产品抽象类。
-
# 抽象产品,具体产品,工厂 # 抽象工厂,一个工厂有多个产品 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()
抽象工厂模式
最新推荐文章于 2025-04-12 17:10:57 发布