简单工厂模式

本文介绍了一种软件设计模式——工厂模式,并通过抽象类和具体类实例展示了如何创建不同类型的图表,包括条形图和折线图。通过将对象创建与使用分离,实现了代码的复用性和扩展性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将对象的创建和对象的使用分离开

具体类:具体的物品对象

抽象类:将具体类公共的代码进行抽象和提取后封装在一个类中

工厂类:提供创建不同物品的方法,通过传入的参数不同而创建不同的物品

原文链接:史上最全设计模式导学目录(完整版)_LoveLion的博客-CSDN博客_史上最全设计模式lovelion

场景描述:

图表库可以为应用系统提供各种不同外观的图表,例如柱状图、饼状图、折线图

创建抽象图表类:

from abc import ABC,abstractmethod


# 定义一个抽象图表类
class Chart(ABC):
    # 定义一个抽象方法,该方法必须被其子类实现
    @abstractmethod
    def display(self):
        pass

创建工厂类:

class ChartFactory():
    @staticmethod
    def factoryMethod(type):
        if type == 'bar':
            return BarChart()
        elif type == 'line':
            return LineChart()

创建具体图表类:

class LineChart(Chart):
    def display(self):
        print('这是折线图...')


class BarChart(Chart):
    def display(self):
        print('这是条形图...')

调用程序:

bar = ChartFactory.factoryMethod('bar')
line = ChartFactory.factoryMethod('line')
bar.display()
line.display()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值