Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 11, 2019 05:49:27

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

всегда ли нужно соблюдать принцип единой ответственности?

zlodiak
db_connection вам нужен только для сохранения. Почему бы не сделать класс Saver, которому вы делегируете эту ответственность? Смотрите, какие сразу перспективы тут нарисовываются: во-первых, вы можете воспользоваться Стратегией и иметь классы DBSaver, FileSaver, SOAPSaver, DummySaver etc., во-вторых, вы сможете отдельно каждый класс протестировать в рамках своей ответственности, в-третьих, код получится чище, в-четвертых, вы избавите класс Main от ненужной и неочевидной зависимости от db_connection.

 def run(self):
       content = self.get_content()
       self.saver.save(content)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version