Menu
Coddy logo textTech

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
challenge icon

Desafio

Médio

Você 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:

  1. Criar e gerenciar o objeto person
  2. Salvar a pessoa no banco de dados

Sua tarefa é garantir que Person tenha apenas uma responsabilidade.

  • Crie a classe Database com o método save.
  • Crie uma conexão entre Person e Database

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)

Todas as lições de Clean Code - Escreva códigos melhores com Python