La
tecnologia ad oggetti è spesso adottata per
le sue grandi promesse: classi riusabili, applicazioni
estendibili, maggior manutenibilità, facilità
di test, in conclusione migliore qualità
del prodotto finale. Tuttavia per ottenere realmente
tali benefici è necessaria una notevole esperienza
che si acquisisce solo attraverso il lavoro su grandi
progetti. Non è quindi raro che l'introduzione
della tecnologia ad oggetti nello sviluppo del software
non sia seguita dai tanto attesi miglioramenti.
Molti programmatori affrontano il problema da risolvere
semplicemente associando le classiche procedure
o funzioni della programmazione strutturata ai metodi
della programmazione orientata agli oggetti; associano
le variabili globali della prima alle variabili
di classe della seconda e via dicendo. Risultato:
una programmazione procedurale incapsulata in una
sintassi orientata agli oggetti. Evidentemente si
tratta di un approccio sbagliato. Non per niente
è più semplice per un principiante
imparare a programmare ad oggetti, che per un vecchio
programmatore procedurale. Quando programmiamo ad
oggetti dobbiamo abbandonare il paradigma basato
su azioni indipendenti. Non dobbiamo pensare in
termini di cosa fare, ma di far lavorare insieme
oggetti che si scambiano informazioni cioè
messaggi. In pratica dobbiamo strutturare il nostro
ambiente come un mondo virtuale in cui esseri di
varia natura, chiamati oggetti, comunicano fra loro
richiedendosi reciprocamente servizi e scambiandosi
dati.
Continua