Non cercare tendenze
Qualsiasi soluzione di programmazione standard per un determinato problema può essere considerata un modello di progettazione, non importa quanto siano popolari o se altri programmatori li usano o meno.
Potresti già utilizzare uno schema di progettazione che non è ancora stato inventato / specificato.
Non provare a utilizzarli, prova a pensare nei loro termini
Il problema con i modelli di progettazione è che a volte i programmatori vogliono inserirvi i loro problemi quando è il contrario.
Ricorda che le convenzioni progettuali dei modelli di progettazione hanno un tipico problema da risolvere, puoi anche combinare schemi di progettazione per affrontare altri problemi più grandi. Questo è tipico delle architetture orientate ai servizi, basta vedere alcuni dei modelli SOA che ci sono .
Cercali allo stato selvatico
Ci sono molti progetti open source in cui troverai modelli di design applicati. Un esempio che viene in mente è Joomla: troverai singletons , osservatori . Le librerie della GUI avranno il schema di decorazione , schema di comando implementato, e forse anche peso vivo .
Esistono altri modelli come i pattern di dati, ad esempio il solo Progetto Doctrine, il modello di record attivo ( 1.x), modello gestore entità (2.x), unità di lavoro , repository , oggetto query , mappatura metadata , mappatura dei dati , e altri più generali come pattern di strategia e modello decoratore .
Ci sono così tante soluzioni interessanti da scegliere. Vedi Patterns of Enterprise Architecture di Martin Fowler , ci sono anche modelli del modello di dati .
Impara semplicemente quando arriva il momento
Impara loro, conoscili, ossessionati da loro e quando verrà il momento saprai come risolvere il problema di programmazione x, sarai già un programmatore migliore a quel punto.
Diventa un architetto
Direi che essere in grado di pensare in termini di pattern per risolvere problemi, efficacemente ti trasforma in un architetto software . Anche se non vuoi essere un architetto software di per sé, le tue soluzioni avranno più qualità tecnica, maggiore pulizia e migliore scalabilità, in termini di progettazione, per impostazione predefinita.