在多个模块中处理/扩展警报类的Python方法

问题描述 投票:-1回答:1

我有一个类来处理警报,该警报将在过程结束时以电子邮件的形式发送。此警报是在流程执行期间更新的列表。

重点是该过程在不同文件中使用了不同模块,因此...

我的问题是:处理此警报类的pythonic方法是什么?

  • [在流程的开头声明它,并将其作为参数传递给不同的模块处理程序?
  • 也许将其创建为Singleton
  • 显然可以欢迎其他任何想法!

谢谢你!

python python-3.x design-patterns singleton python-module
1个回答
0
投票

嗯,我认为这个python模式可以帮助我...

https://github.com/faif/python-patterns/blob/master/patterns/creational/borg.py

代码示例:

class Borg:
    __shared_state = {}

    def __init__(self):
        self.__dict__ = self.__shared_state
        self.state = 'Init'

    def __str__(self):
        return self.state


class MyBorg(Borg):

    def __init__(self):
        Borg.__init__(self)
        self.alert_one = []
        self.alert_two = []
        ...

只是一件事...列表初始化应该在MyBorg中还是在Borg中更好?

谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.