Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Principi Fondamentali della Composizione | Sezione
Programmazione Orientata agli Oggetti in Python

bookPrincipi Fondamentali della Composizione

Scorri per mostrare il menu

La composizione si concentra sulla costruzione di oggetti complessi combinando componenti più semplici e indipendenti. Invece di affidarsi all'ereditarietà, che crea gerarchie rigide, la composizione consente alle classi di collaborare tramite oggetti contenuti. Questo approccio rende i sistemi più flessibili, modulari e facili da mantenere, poiché i componenti possono essere sostituiti o estesi senza compromettere l'intera struttura.

example.py

example.py

copy

Order non implementa direttamente la logica di pagamento, inventario o spedizione. Invece, possiede oggetti separati (Payment, Inventory, Shipping) e li utilizza per svolgere il proprio lavoro.

Ogni componente ha una sola responsabilità e Order si limita a coordinarli. Se si desidera modificare il funzionamento del pagamento o della spedizione, è possibile sostituire il componente senza modificare la classe Order.

Alcuni rischi da considerare nell'uso della composizione sono la creazione di oggetti dio che raccolgono troppi componenti e diventano difficili da gestire, la fuga delle API dei componenti attraverso la classe esterna invece di mantenere un'interfaccia pulita, e l'introduzione di accoppiamento nascosto quando i componenti dipendono eccessivamente dai dettagli interni degli altri.

Oggetti dio
expand arrow

Un oggetto dio cerca di fare troppo. Contiene molti componenti e gestisce molte responsabilità, rendendo la classe difficile da comprendere, testare e mantenere.

API dei componenti esposte
expand arrow

Questo accade quando la classe esterna espone i metodi o gli attributi interni dei suoi componenti. Invece di fornire una propria interfaccia pulita, costringe gli utenti a interagire direttamente con gli oggetti interni.

Accoppiamento nascosto
expand arrow

I componenti diventano strettamente collegati tramite dettagli interni. Modificare una parte causa inaspettatamente la rottura di un'altra perché dipendono dalla struttura interna reciproca invece che da contratti chiari.

question mark

Qual è un rischio comune nell'utilizzo della composizione che può rendere il design più difficile da mantenere?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 16

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 1. Capitolo 16
some-alt