Единственная ответственность
Урок 22 из 28 курса Clean Code — пишите код лучше на Python на Coddy.
«У class никогда не должно быть более одной причины для изменения».
Принцип единственной ответственности (SRP) гласит, что у каждого class и функции должна быть только одна задача или одна причина для изменения.
Цели —
- Создавать высокосвязные и устойчивые class и функции.
- Поощрять композицию class
- Избегать дублирования кода
Задание
СреднеВам предоставлен class Person, у которого есть метод save для сохранения объекта person в базе данных.
В данном коде class имеет две ответственности:
- Создание и управление объектом person
- Сохранение объекта person в базе данных
Ваша задача — убедиться, что Person имеет только одну ответственность.
- Создайте class
Databaseс методомsave. - Создайте связь между
PersonиDatabase.
Существует множество вариантов выполнения этой задачи, но мы стремимся к одному конкретному; при необходимости используйте подсказки!
Обратите внимание: когда мы создаём отдельный class для Database, мы можем управлять всеми связанными с "Database related" аспектами в одном месте!
Попробуйте сами
class Person:
def __init__(self, name):
self.name = name
def save(self):
print('Saving person with name "%s"' % self.name)Все уроки раздела Clean Code — пишите код лучше на Python
Потренируйтесь самостоятельно: Онлайн-компилятор Python