2009-12-26 13 views
9

Stavo passando per le domande sui modelli di progettazione su Stackoverflow e tutti hanno menzionato il libro GoF- Design Pattern e il libro Head First Design Patterns per apprenderli.In che modo possiamo imparare dove e quando applicare determinati modelli di progettazione?

Le mie domande sono come possiamo imparare where e when possiamo applicare particolare Design Pattern.

Ci sono dei libri o risorse online che impartisce questa conoscenza o quali passi dobbiamo seguire nel prendere la nostra decisione di where e when dovremmo usare particolare Design Patterns?

+1

Alcune delle risposte davvero buone, grazie COSÌ Team! In attesa di alcune risposte più interessanti. – Rachel

risposta

5

Il refactoring per i pattern, piuttosto che il codice per i pattern, è il consiglio generale.

4

L'esperienza è la migliore guida che avrai per questo. Ma in generale:

  • Non applicare un motivo di progettazione solo per il gusto di applicarlo; assicurati che il problema sia davvero ciò che pensi sia, e che lo capisca a un livello di profondità necessario per applicare un modello di progettazione.

  • Codice per risolvere il problema, non applicare un motivo di progettazione.

Anche se sono utili nel lungo periodo, spesso può essere molto pericoloso per i principianti di leggere libri come questi, perché vanno da una cassetta degli attrezzi vuoto per ora avere un unico, enorme martello - e quando tutto quello che hai è un martello, tutto sembra un chiodo.

1

Ho trovato FluffyCat.com come una fonte molto utile di esempi di modelli di progettazione. Fornisce sia gli esempi di implementazione e PHP di tutti i modelli GoF, sia una descrizione di come ogni schema dovrebbe funzionare.

0

Refactoring: Improving the design of existing code da Martin Fowler è davvero un buon libro. Mostra il codice convenzionale esistente e quindi mostra perché e come rifattarlo. Molti esempi su come identificare il codice che dovrebbe essere refactored e come fare piccoli passi incrementali per farlo.

1

È come sapere pescare con gli strumenti giusti la prima volta ... piuttosto difficile se non si è mai visto prima. Dato un po 'di tempo e conferenze, arriverà da solo.

Se si commette un errore implementando un modello di progettazione non adatto al lavoro, sarà difficile farlo. Ma imparerai 2 di loro (quello che si dovrebbe avere preso, e quello che preso);)

Mike

0

Nella mia esperienza, avere una buona comprensione dei modelli di progettazione saranno sufficienti a accendi una luce nella tua testa ogni volta che stai affrontando un particolare problema a cui potrebbe essere applicabile un modello di progettazione.E come ha detto John, con l'esperienza imparerai ad applicare quella corretta.

Spesso ci sono più schemi che funzionano correttamente. Ma non dovresti lavorare troppo per fare in modo che un modello si adatti a una soluzione particolare. Dovrebbe essere solo "ovvio" dopo un po '.

Inoltre ci sono momenti in cui è possibile combinare modelli o adattarli leggermente a un particolare problema. E non è raro vedere un nuovo modello e pensare "beh, ho sempre fatto così." I modelli di progettazione non sono stati inventati di per sé, sono stati identificati e nominati. Ciò non significa che siano una ricetta rigorosa per la creazione di software.

0

Vorrei raccomandare sourcemaking.com. Fornisce una discussione generale su come e quando utilizzare i modelli di progettazione GoF. E come puoi combinarli per il miglior risultato.

Anche il libro Refactoring to patterns di Joshua Kerievsky potrebbe essere una risorsa preziosa.

Problemi correlati