La maggior parte degli sviluppatori si arrabbierà con qualsiasi nuovo paradigma o metodologia che arriva. L'ho fatto quando ho sentito parlare per la prima volta dei modelli di progettazione. I modelli di design sono proprio ciò che suggerisce il nome: un design o modello per la creazione di classi e la modellazione del loro comportamento e interazione in modo prevedibile
Dai un'occhiata alle case. Hanno alcune somiglianze. Ogni casa ha un soggiorno, cucina, camera da letto, bagno, toilette per un minimo. Nessuno costruirà una casa senza bagno, giusto? Gli appartamenti hanno uno schema diverso dai bunglows. I castelli hanno un modello completamente diverso. Anche i vestiti hanno motivi. Una giacca e una camicia formale hanno entrambe lo stesso design di base, ma hanno comportamenti diversi: non indosserai una giacca da cowboy per un'intervista. Allo stesso modo le classi e le loro azioni possono essere raggruppate in base al loro comportamento e design. Guardare gli elementi comuni nei loro comportamenti ti dà schemi di progettazione per le classi.
I modelli di progettazione a mio avviso sono importanti solo se la riusabilità e l'espandibilità sono preoccupazioni principali. Se crei piccole app (diciamo meno di 10 lezioni), potresti non averne affatto bisogno. Ma i progetti di grandi dimensioni, in particolare quelli con team di grandi dimensioni che lavorano su di essi e hanno una lunga manutenzione e cicli di aggiunta delle funzionalità, avranno sicuramente bisogno di schemi. Non è nemmeno un'opzione nei grandi progetti.
Dai un'occhiata ad alcuni tutorial online sugli schemi. Wikipedia ha una buona serie di articoli. Anche questo sito è buono: http://sourcemaking.com/ . Se sei un programmatore esperto, scoprirai di esserti imbattuto in alcuni schemi, magari anche implementando qualcosa di simile te stesso senza saperlo con un nome particolare.
Non ignorarli del tutto! Potresti trovarli utili in futuro, se non ora. La chiave per avvicinarsi ai modelli di progettazione con una mente aperta è chiedere: "Cosa accadrà se non uso schemi di progettazione?" I pattern non sono intesi come "cure" (anche se puoi usarli come cura per un problema); piuttosto, incarnano il detto "prevenire è meglio che curare".
Tuttavia, vorrei mettere in guardia contro l'ossessione di implementare schemi ovunque e ogni volta che vedi un piccolo pretesto per usarlo. Ho affrontato questo problema in un progetto in cui l'architetto era convinto che senza DP il progetto sarebbe stato un disastro completo. Abbiamo avuto una riunione di gruppo in cui gli ingegneri hanno spostato il progetto e hanno sottolineato che molti modelli che lui ha raccomandato non avrebbero avuto alcun vantaggio se non quello di mostrare "wow guarda i bellissimi modelli". Ci sono voluti molti convincenti e un po 'di contrattazione per ridurre il numero di luoghi in cui i modelli sono stati usati solo per necessità.