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 class mudar."

O princípio da responsabilidade única (SRP) afirma que toda class e função deve ter apenas uma tarefa ou um motivo para mudar.

Objetivos -

  • Criar classes e funções altamente coesas e robustas.
  • Promover a composição de class
  • Evitar a duplicação de código
challenge icon

Desafio

Médio

Você recebe a class Person, que tem um método save para salvar o person no banco de dados.

No código fornecido, a class tem duas responsabilidades:

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

Sua tarefa é garantir que Person tenha apenas uma responsabilidade.

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

Há muitas opções para realizar esta tarefa; estamos buscando uma específica. Use as dicas quando necessário!

Observe que, quando criamos uma class separada para Database, podemos gerenciar todas as coisas relacionadas a "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

Pratique por conta própria: Compilador de Python online