Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Princípios Fundamentais da Composição | Seção
Practice
Projects
Quizzes & Challenges
Questionários
Challenges
/
Programação Orientada a Objetos em Python

bookPrincípios Fundamentais da Composição

Composição foca na construção de objetos complexos a partir da combinação de componentes mais simples e independentes. Em vez de depender de herança, que cria hierarquias rígidas, a composição permite que classes colaborem por meio de objetos contidos. Essa abordagem torna os sistemas mais flexíveis, modulares e fáceis de manter, pois os componentes podem ser substituídos ou estendidos sem comprometer toda a estrutura.

example.py

example.py

copy

Order não implementa a lógica de pagamento, inventário ou envio por conta própria. Em vez disso, possui objetos separados (Payment, Inventory, Shipping) e os utiliza para realizar seu trabalho.

Cada componente tem uma responsabilidade, e Order apenas os coordena. Se for necessário alterar como o pagamento ou o envio funcionam, é possível substituir o componente sem modificar a classe Order.

Alguns cuidados ao utilizar composição incluem evitar objetos deus que acumulam muitos componentes e se tornam difíceis de gerenciar, vazamento de APIs de componentes pela classe externa em vez de manter uma interface limpa, e a introdução de acoplamento oculto quando os componentes dependem excessivamente dos detalhes internos uns dos outros.

Objetos deus
expand arrow

Um objeto deus tenta fazer demais. Ele contém muitos componentes e lida com muitas responsabilidades, o que torna a classe difícil de entender, testar e manter.

APIs de componentes expostas
expand arrow

Isso ocorre quando a classe externa expõe os métodos ou atributos internos de seus componentes. Em vez de fornecer sua própria interface limpa, ela força os usuários a interagir diretamente com objetos internos.

Acoplamento oculto
expand arrow

Os componentes tornam-se fortemente conectados por meio de detalhes internos. Alterar uma parte quebra inesperadamente outra porque dependem da estrutura interna um do outro em vez de contratos claros.

question mark

Qual é um risco comum ao usar composição que pode tornar o design mais difícil de manter?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 16

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

bookPrincípios Fundamentais da Composição

Deslize para mostrar o menu

Composição foca na construção de objetos complexos a partir da combinação de componentes mais simples e independentes. Em vez de depender de herança, que cria hierarquias rígidas, a composição permite que classes colaborem por meio de objetos contidos. Essa abordagem torna os sistemas mais flexíveis, modulares e fáceis de manter, pois os componentes podem ser substituídos ou estendidos sem comprometer toda a estrutura.

example.py

example.py

copy

Order não implementa a lógica de pagamento, inventário ou envio por conta própria. Em vez disso, possui objetos separados (Payment, Inventory, Shipping) e os utiliza para realizar seu trabalho.

Cada componente tem uma responsabilidade, e Order apenas os coordena. Se for necessário alterar como o pagamento ou o envio funcionam, é possível substituir o componente sem modificar a classe Order.

Alguns cuidados ao utilizar composição incluem evitar objetos deus que acumulam muitos componentes e se tornam difíceis de gerenciar, vazamento de APIs de componentes pela classe externa em vez de manter uma interface limpa, e a introdução de acoplamento oculto quando os componentes dependem excessivamente dos detalhes internos uns dos outros.

Objetos deus
expand arrow

Um objeto deus tenta fazer demais. Ele contém muitos componentes e lida com muitas responsabilidades, o que torna a classe difícil de entender, testar e manter.

APIs de componentes expostas
expand arrow

Isso ocorre quando a classe externa expõe os métodos ou atributos internos de seus componentes. Em vez de fornecer sua própria interface limpa, ela força os usuários a interagir diretamente com objetos internos.

Acoplamento oculto
expand arrow

Os componentes tornam-se fortemente conectados por meio de detalhes internos. Alterar uma parte quebra inesperadamente outra porque dependem da estrutura interna um do outro em vez de contratos claros.

question mark

Qual é um risco comum ao usar composição que pode tornar o design mais difícil de manter?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 16
some-alt