02 工厂方法模式
适用场景:业务上需要灵活的、可扩展的功能时,可以考虑采用工厂方法模式
优点: 符合开闭原则 (新增开放修改关闭),降低模块之间耦合性
缺点:每新增一个新产品时就需要增加两个类
工厂方法模式:抽象工厂类、具体工厂类、抽象产品类、具体产品类
# -*- coding: utf-8 -*-
# @Time : 9/8/22 9:27 PM
# @Author : Leo
# @FileName: 工厂方法模式.py
# @Software: PyCharm
class Factory:
"""
抽象工厂类
"""
def create(self):
pass
class PCFactory(Factory):
"""
PC 工厂类
"""
def create(self):
return PCProduct()
class Product:
"""
抽象产品类
"""
name = ""
size = ""
def get_name(self):
return self.name
class PCProduct(Product):
"""
具体产品类
"""
def __init__(self):
self.name = "pc"
if __name__ == '__main__':
# 使用pc工厂创建PC
pc = PCFactory().create()
print(pc.get_name())