Responsabilidade única
Lição 22 de 28 do curso Clean Code - Escreva códigos melhores com Python da Coddy.
"Nunca deve haver mais de um motivo para uma classe mudar."
O Princípio da Responsabilidade Única (SRP) estabelece que cada classe e função deve ter apenas um trabalho ou um motivo para mudar.
Objetivos -
- Criar classes e funções altamente coesas e robustas.
- Promover a composição de classes
- Evitar a duplicação de código
Desafio
MédioVocê recebeu a classe Person que possui um método save para salvar a pessoa no banco de dados.
No código fornecido, a classe possui duas responsabilidades:
- Criar e gerenciar o objeto person
- Salvar a pessoa no banco de dados
Sua tarefa é garantir que Person tenha apenas uma responsabilidade.
- Crie a classe
Databasecom o métodosave. - Crie uma conexão entre
PersoneDatabase
Existem muitas opções para realizar esta tarefa; estamos buscando uma específica, use as dicas quando necessário!
Observe que quando criamos uma classe separada para Database, podemos gerenciar todas as coisas "Database related" em um só lugar!
Experimente você mesmo
class Person:
def __init__(self, name):
self.name = name
def save(self):
print('Saving person with name "%s"' % self.name)