1
resposta

Dúvida sobre a classe Categoria

Olá, fiquei com algumas dúvidas sobre a classe Categoria. De fato, qual a necessidade dela ser criada? Como ela está sendo relacionada com a classe Produtos? Se não colocassemos ela e instanciarmos por exemplo $produto->categoria->nome não funcionaria da mesma forma?

1 resposta

Oi Matheus, tudo bom?

Se não houvesse a classe Categoria, como você acessaria $produto->categoria->qlqrCoisa? Se o atributo categoria da classe Produto não for outra classe (ou um array associativo), não seria possivel acessar nada lá dentro além do valor.

A classe Categoria existe no sistema para desacoplar as regras comuns a produtos de um mesmo nicho. Por exemplo, um fogão não é vendido da mesma forma que uma caneta. Não tem os mesmos impostos, etc. Todas essas regras são isoladas na classe Categoria, assim a gente n precisa criar varias classes diferentes de produto pra representar os comportamentos da categoria =)

A ideia é que um Produto tem uma Categoria só e uma Categoria está em varios Produto, assim, fica até mais fácil tirar relatórios da base de dados com um select você tira todos os produtos de uma mesma categoria.

No sistema do curso, a única função da classe Categoria é isolar os produtos por tipo mesmo mostrando como as classes podem (e devem) se relacionar uma com a outra através de composição =)

Abraço