Назад к задачам
Условие задачи

Проведите ревью кода: оцените архитектурные решения, соблюдение принципов ООП, выявите возможные ошибки и предложите пути улучшения.

from enum import Enum

class NotificationTypes(Enum):
    EMAIL = 'email'
    SMS = 'sms'
    TELEGRAM = 'telegram'

class NotificationAbstract:
    def send(self, message):
        ...

class SendEmailNotification(NotificationAbstract):
    def send_email_notification(self):
        pass

class SendSMSNotification(NotificationAbstract):
    def send_sms_notification(self):
        pass

class SendTelegramNotification(NotificationAbstract):
    def send_telegram_notification(self):
        pass

class Newsletter:
    def create(self, message, notify_class):
        notify_class.send(message)

if __name__ == '__main__':
    ...