Non è consigliabile impostare sempre il software per adattarlo a uno schema di progettazione, ma se corrisponde a uno lo si utilizza. In molti casi la maggior parte delle cose che fai avrà un modello di progettazione che è semplicemente un modello che è stato osservato da molte diverse implementazioni software come comuni.
Ad esempio se si dispone di un set di classi che devono essere tutte sincronizzate. Bene, questo funziona bene con il pattern Observer o Publish/Subscribe dove una classe è il notificatore e l'altra ascolta le notifiche. Observer pattern
Oppure dire che si desidera limitare l'utilizzo della memoria in un motore di gioco, è possibile creare un ObjectPool. Object pool
O forse si vuole semplificare una serie di oggetti in un API simplr quindi utilizzare il modello Facade: Facade pattern
Molte volte solo con modelli funzionali come l'incapsulamento o eredità vanno bene. Dipende dal problema Nella maggior parte dei casi, gran parte di ciò che si tenta di codificare verrà risolto in uno schema, ma i pattern non sono l'unico modo per codificare. In molti casi, inizi a progettare o hai bisogno e diventa un modello.
Ricordare i pattern originati dall'osservazione di molti tipi di problemi software, non è il punto di partenza ma il riflesso dell'architettura software.
Design pattern (computer science)
Molti campioni di modelli a dofactory.com: Design pattern tutorial by dofactory
Python design pattern: http://video.google.com/videoplay?docid=-3035093035748181693
Forzatura design pattern è come costringere OO. Dovrebbe venire naturalmente dai bisogni nel progetto attuale.
fonte
2009-06-14 02:21:38
Hai letto il libro? Leggi il libro. –
Penso che questo possa essere un duplicato di http://stackoverflow.com/questions/85272/how-do-you-know-when-to-use-design-patterns –
Grazie Steve! Il collegamento ha davvero aiutato. –