Pythoni c способ обработки / распространения класса предупреждений в нескольких модулях - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть класс для обработки предупреждений, которые в конце процесса будут отправляться по электронной почте. Эти предупреждения представляют собой список, который обновляется во время выполнения процесса.

Дело в том, что процесс использует разные модули в разных файлах, поэтому ...

Мой вопрос: что такое pythoni c способ обработки этого класса предупреждений?

  • Объявить его в начале процесса и передать в качестве аргумента обработчикам различных модулей?
  • Может быть, создать его как Singleton?
  • Любая другая идея явно приветствуется!

Заранее спасибо!

1 Ответ

0 голосов
/ 05 февраля 2020

Ну, я думаю, этот шаблон 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?

Спасибо!

...