Many thanks to Tristan Morris for creating a beautiful illustrated hardcover print edition of the site

tcc-case-title
moderatamente geeky  moderatamente geeky

Caso 175

Squalo piatto

Un monaco chiese al maestro Java Kaimu:
Cos’è il “principio di singola responsabilità”?

Disse Kaimu:
Che una classe debba fare solo una cosa,
e farla interamente.

Il monaco chiese:
Come dovrei decidere questa “sola cosa”?

Disse Kaimu:
Il Pescatore non costruisce navi,
o lo chiameremmo Carpentiere.

Il monaco chiese:
Non c’è spazio nella vostra filosofia per le interfacce?
E se la mia classe potesse servire come Pescatore,
e Carpentiere e anche Marinaio?

Disse Kaimu:
Come chiameresti un simile mostro a tre teste?

Il monaco rispose:
Shisho, come mio zio. Vive in riva al mare e fa tutte queste cose.

Disse Kaimu:
Darei alla tua classe Shisho tre variabili d’istanza:
un Pescatore, un Carpentiere e un Marinaio.
Quindi Shisho potrebbe implementare tali interfacce per delegazione.

Il monaco rispose:
Io parlo di ereditarietà, e mi rispondete in componimento.
Tutto mio zio è un Pescatore, non solo il suo piede sinistro.
A che servono gli oggetti, se non modellano fedelmente il mondo?

Disse Kaimu:
Se dipingo uno squalo meraviglioso su questa pagina, dirai, “Bello squalo!”
o ti lamenterai che è piatto e non ti mangia?

Il monaco chiese:
Ma come dovremmo sapere quando lo squalo piatto è abbastanza squalo?
O quando nostro zio dovrebbe pescare col suo piede sinistro?

Disse Kaimu:
Imparare come è la nostra “singola responsabilità”.

Il commento di Qi

Ogni classe fa una sola cosa—
ma a volte quella sola cosa
è “fare troppe cose”.

Il poema di Qi

Una mattina Kaimu prese il suo pennello.
In due colpi dipinse uno squalo squisito.
Un passante rise: “È uno squalo orrendo che non può aprire la bocca!”
Kaimu rispose: “Eppure mi ha detto che sei uno stolto.”