Quanto sono rilevanti i modelli di progettazione OO nello sviluppo di applicazioni PHP per il Web?
IMO sono molto rilevanti per qualsiasi applicazione PHP non banale, purché il modello che si sta utilizzando sia applicabile al problema in questione.
Fa qualcosa per le prestazioni?
Non necessariamente, e si può prendere sia in termini positivi che negativi. I modelli di progettazione più popolari non aggiungeranno direttamente alcun beneficio di prestazioni positivo e alcuni che impongono più ereditarietà o struttura di classe potrebbero aggiungere un trascurabile costo di prestazione (sottolineo trascurabile).I vantaggi dell'utilizzo di modelli ben noti, quando applicabile, superano questi costi trascurabili.
Un esempio a cui posso pensare dove un modello potrebbe migliorare direttamente la "prestazione" (per quanto riguarda l'utilizzo della memoria) sarebbe l'uso appropriato del modello singleton. Se in un dato momento hai solo bisogno di un'istanza di un oggetto, allora riduci l'utilizzo della memoria utilizzando quell'istanza.
Oppure è solo per mantenere il codice snello per pratiche di sviluppo agili?
Direi che l'uso corretto dei modelli mantiene il codice più gestibile, piuttosto che "snello". Ciò faciliterebbe qualsiasi ciclo di sviluppo, incluso quello agile, dal momento che il codice che utilizza modelli ben noti è più facile da leggere.
Chi è il principale benefattore per l'implementazione di questi modelli di progettazione? È il cliente o lo sviluppatore?
Principalmente lo sviluppatore (soprattutto se si tratta di uno sviluppatore plurale (s) in cui una squadra ha che fare per guardare lo stesso codice.) C'è un impatto indiretto sul cliente in quel codice ben scritto avrà ovviamente meno bug, e il software che usa i pattern avrà probabilmente meno tempo di inversione dal re-inventare la ruota.
Ottima risposta! c'è ovunque sul web dove puoi trovare tutorial su come imparare a riconoscere gli schemi e quando usarli? Qual è il modo migliore per impararli? –
C'è un libro dei ragazzi di PHP | Architect su Design Patterns in PHP, che ho trovato utile poiché spiega come ciascuno dei pattern funziona nel contesto della lingua. Imparare a riconoscere cosa sono e quando usarli ... questo è un po 'più difficile, si tratta solo con la pratica. –
Il libro Gang of Four (http://c2.com/cgi/wiki?DesignPatternsBook) è un buon punto di partenza, ma le implementazioni dovrebbero essere tradotte in PHP. Il formato degli stessi schemi ti dice quale problema risolve il modello. Un buon punto di partenza sarebbe la voce wikipedia: http://en.wikipedia.org/wiki/Design_Patterns – tvanfosson