【问题标题】:Pythonic way to handle/spread alerts class in multiple modules在多个模块中处理/传播警报类的 Pythonic 方式
【发布时间】:2020-02-03 11:32:26
【问题描述】:

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

关键是进程在不同的文件中使用不同的模块,所以......

我的问题是:处理这个警报类的 Python 方法是什么?

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

提前谢谢你!

【问题讨论】:

    标签: python python-3.x design-patterns singleton python-module


    【解决方案1】:

    嗯,我认为这个 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 = []
            ...
    

    只有一件事...列表初始化应该在MyBorgBorg 更好?

    谢谢!

    【讨论】:

    • 好吧,这没有用,但 Singleton 做到了。关键是我不知道在这种情况下使用 Singleton 是否是个好主意......
    猜你喜欢
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    相关资源
    最近更新 更多