Play IT

SOLID

Интерактивное демо «SOLID» — раздел Энциклопедия · Код и разработка.

code-devencyclopedia

Принципы SOLID — интерактивно

Переключайте букву, сравнивайте нарушение и корректный дизайн на мини-сценариях из статьи

SЕдинственная ответственность

У класса — одна причина для изменения.

Сценарий
UserRepository
save()
EmailService
send()
↑ использует
UserManager
register_user()

Нажмите кнопку действия

Код
class UserRepository: ...
class EmailService: ...
class UserManager:
    def __init__(self, repo, mailer): ...
Изменения локализованы: меняется только затронутый модуль или добавляется новый тип.