美文网首页
python工厂模式构建实例

python工厂模式构建实例

作者: 卜是 | 来源:发表于2020-08-08 10:32 被阅读0次

实现一个python类作为统一的接口,来创建具体类的对象。
1. 工厂类

from shape_line import *
from shape_rect import *
from shape_circle import *
factory_register = {
'line' : shape_line,
'rect' : shape_rect,
'circle' : shape_circle
}
class Shape_Factory:
    def create_shape(self,type_name):
        print('create {} shape'.format(type_name))
        if type_name in factory_register:
            return factory_register[type_name]()
        return None

shape_factory = Shape_Factory()

2. 基类

'''shape base类, shape_base.py'''
class shape_base():
    def __init__(self):
        self.label_name = "base"
        self.output_shape = None
    def _set_label_name_related(self):
        self.loss = 'loss_{}'.format(self.label_name)  
        self.acc = '{}_acc'.format(self.label_name)
    def get_labels(self):
        return self.labels

3. 具体子类

'''shape_line.py文件'''
from shape_base import *
class shape_line(shape_base):
    def __init__(self):
        super().__init__()
        self.label_name = "line"
        super()._set_label_name_related()
    def shape_draw(self):
        '''do something'''
        return self.output_shape

4. main函数测试

from shape_factory import shape_factory
if __main__ == '__main__':
    shape_ids = ['line', 'rect', 'circle']
    shapes = [shape_factory.create_shape(item) for item in shape_ids]

相关文章

  • python工厂模式构建实例

    实现一个python类作为统一的接口,来创建具体类的对象。1. 工厂类 2. 基类 3. 具体子类 4. main...

  • 设计模式

    设计模式 工厂模式生成bean 工厂模式分为静态工厂和实例工厂 静态工厂: 实例工厂

  • Factory Method(工厂方法)模式

    特点:此模式由Template Method模式演变而来,主要用于构建和生成实例。工厂类负责管理实例的生成方式,产...

  • 面试常考设计模式

    (1)一个线程安全且高效率的单利模式 (2)工厂模式:通过对象构造工厂在构建相应的对象实例 (3)代理模式:对代理...

  • 设计模式-3种工厂模式

    工厂模式包括:简单工厂模式,工厂方法模式,抽象工厂模式 简单工厂模式 工厂方法根据参数直接创建实例:工厂->产品 ...

  • 设计模式-工厂模式

    工厂模式概念 实例化对象,用工厂方法代替new操作。工厂模式包括工厂方法模式和抽象工厂模式。抽象工厂模式是工厂模式...

  • 抽象工厂模式

    一、抽象工厂模式介绍 二、抽象工厂模式代码实例

  • 工厂方法模式

    一、工厂方法模式介绍 二、工厂方法模式代码实例

  • 工厂模式 iOS

    什么是工厂模式工厂模式是我们最常用的实例化对象模式了,根据已知条件或者参数,实例化你需要的对象。 工厂模式分为三种...

  • 工厂模式

    工厂模式 介绍 工厂模式属于创建型模式(实例化对象模式),定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂...

网友评论

      本文标题:python工厂模式构建实例

      本文链接:https://www.haomeiwen.com/subject/jefqdktx.html