Skip to Content
Python robusto
book

Python robusto

by Patrick Viafore
April 2025
Intermediate to advanced
380 pages
10h 23m
Italian
O'Reilly Media, Inc.
Book available
Content preview from Python robusto

Capitolo 11. Definire le interfacce

Questo lavoro è stato tradotto utilizzando l'AI. Siamo lieti di ricevere il tuo feedback e i tuoi commenti: translation-feedback@oreilly.com

Hai imparato a creare i tuoi tipi definiti dall'utente, ma la creazione è solo metà della battaglia. Ora gli sviluppatori devono effettivamente utilizzare i tuoi tipi. Per farlo, utilizzano l'API del tuo tipo. Si tratta dell'insieme dei tipi e delle relative funzioni, insieme ad eventuali funzioni esterne, con cui lo sviluppatore interagisce per utilizzare il tuo codice.

Una volta che i tuoi tipi vengono messi a disposizione degli utenti, verranno utilizzati (e abusati) in modi che non avresti mai pensato. E una volta che gli sviluppatori dipendono dai tuoi tipi, sarà difficile cambiare il loro comportamento. Questo dà origine a quello che io chiamo il Paradosso delle Interfacce del Codice:

Hai un'unica possibilità per ottenere l'interfaccia giusta, ma non saprai che è giusta finché non la userai.

Non appena gli sviluppatori utilizzano i tipi da te creati, diventano dipendenti dal comportamento che quei tipi racchiudono. Se provi a fare una modifica incompatibile con il passato, potenzialmente romperai tutto il codice chiamante. Il rischio di cambiare la tua interfaccia è proporzionale alla quantità di codice esterno che dipende da essa.

Questo paradosso non si applica se controlli tutto il codice che dipende dal tuo tipo: puoi cambiarlo. Ma non appena quel tipo entra in produzione e le persone iniziano ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Practical Neural Network Recipies in C++

Practical Neural Network Recipies in C++

Masters

Publisher Resources

ISBN: 9798341645462Supplemental Content