Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida sobre SRP

Adicionar os métodos de adicionar e remover itens dentro da classe cliente n quebra o princípio SRP do SOLID?

1 resposta
solução!

Olá, Gabriel!

Entendo sua preocupação em relação ao princípio SRP (Single Responsibility Principle) do SOLID. Este princípio afirma que uma classe deve ter somente uma responsabilidade, ou seja, somente um motivo para mudar.

No exemplo da aula, a classe Cliente foi criada para encapsular os dados e comportamentos relacionados ao cliente. Os métodos de adicionar e remover itens estão relacionados ao comportamento do cliente no contexto de um pedido, portanto, eles não necessariamente quebram o princípio SRP.

No entanto, é importante notar que a aplicação do princípio SRP pode variar dependendo do contexto. Em um sistema mais complexo, por exemplo, pode ser que faça mais sentido ter uma classe separada para gerenciar os itens de um pedido.

Por exemplo, poderíamos ter uma classe 'CarrinhoDeCompras' que seria responsável por adicionar e remover itens, enquanto a classe 'Cliente' poderia ser responsável por outras operações relacionadas ao cliente, como atualizar informações de contato, verificar o status do cliente, etc.

public class Cliente
{
    public string Nome { get; set; }
    // Outras propriedades e métodos relacionados ao cliente
}

public class CarrinhoDeCompras
{
    public Cliente Cliente { get; set; }
    public decimal TotalCompras { get; private set; }

    public void AdicionarItem(Item item)
    {
        // Adicione o item ao carrinho
        TotalCompras += item.Total;
    }

    public void RemoverItem(Item item)
    {
        // Remova o item do carrinho
        TotalCompras -= item.Total;
    }
}

Espero ter ajudado e bons estudos!