La maggior parte degli sviluppatori rabbrividisce a qualsiasi nuovo paradigma o metodologia che viene in. Ho fatto quando ho sentito parlare dei modelli di progettazione. I design pattern sono proprio ciò che suggerisce il nome: un design o un modello per creare classi e modellarne il comportamento e l'interazione in modo prevedibile
Dai un'occhiata alle case. Hanno alcune somiglianze. Ogni casa ha un soggiorno, cucina, camera da letto, bagno, servizi igienici per un minimo. Nessuno costruirà una casa senza un bagno, giusto? Gli appartamenti hanno uno schema diverso da quello dei bunglows. I castelli hanno un modello completamente diverso. Anche gli abiti hanno motivi. Una giacca e una camicia formale hanno entrambi 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à modelli di progettazione per le classi.
I modelli di progettazione a mio avviso sono importanti solo se la riusabilità e l'espandibilità sono problemi primari. Se crei piccole app (diciamo meno di 10 classi), potresti non averne affatto bisogno. Ma i progetti di grandi dimensioni, in particolare quelli che hanno grandi team che lavorano su di essi e che richiedono lunghi cicli di manutenzione e aggiunta, avranno sicuramente bisogno di schemi. Non è nemmeno un'opzione in grandi progetti.
Dai un'occhiata ad alcuni tutorial online sui pattern. Wikipedia ha una buona serie di articoli. Anche questo sito è buono: link . Se sei un programmatore esperto, scoprirai che hai trovato alcuni modelli, forse hai implementato anche qualcosa di simile senza saperlo con un nome particolare.
Non ignorarli del tutto! Potresti trovarli utili in futuro se non ora. La chiave per affrontare i modelli di progettazione con una mente aperta è chiedere: "Che cosa accadrà se non utilizzo i pattern di progettazione?" I modelli non sono intesi come "cure" (sebbene tu possa usarli come cura per un problema); piuttosto, incarnano il detto "prevenire è meglio che curare".
Comunque, vorrei mettere in guardia contro l'ossessione di implementare i pattern 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 indicato che molti modelli che ha raccomandato non avrebbero avuto alcun senso se non mostrare "wow guarda i bellissimi modelli". Ci sono volute molte convincenti e alcune contrattazioni per ridurre il numero di luoghi in cui i modelli sono stati utilizzati in base al bisogno.