Nel corso degli anni ho notato uno spostamento di atteggiamento nei confronti dei modelli di progettazione, in particolare tra la generazione emergente di sviluppatori.
In questi giorni sembra esserci un concetto secondo cui i modelli di design sono proiettili d'argento che curano istantaneamente qualsiasi problema, un'idea proliferante che avanzare come ingegnere software significa semplicemente imparare e applicare sempre più schemi. Di fronte a un problema, gli sviluppatori non si sforzano più di capire veramente il problema e progettare una soluzione, ma scelgono semplicemente un modello di progettazione che sembra essere molto vicino e cercano di forzarlo.
Puoi vedere le prove in merito a molte, molte domande su Stack Overflow che iniziano con frase "quale modello dovrei usare per ..." .
Mi trovo in una categoria di sviluppatori leggermente più matura (5-10 anni di esperienza) e ho un punto di vista molto diverso sui modelli - semplicemente come strumento di comunicazione per migliorare la chiarezza. Trovo che questa prospettiva dei modelli di design sia lego mattoni (raccolti come carte Pokemon) un po 'sconcertante.
Gli sviluppatori perdono questo atteggiamento acquisendo più esperienza nell'ingegneria del software? O queste nozioni potrebbero forse orientare la direzione del nostro mestiere negli anni a venire?
La vecchia generazione di sviluppatori ha preoccupazioni simili su di noi? (forse su OO design o simili ...). se sì, come siamo arrivati?