2010-01-16 9 views
7

Sono in una classe di Web Scripting a scuola e sto lavorando al mio primo incarico. Tendo ad esagerare con le cose e approfondisco la mia materia rispetto a ciò che è richiesto nelle mie lezioni. In questo momento mi sto occupando CGI.pm per fare le mie richieste HTTP e dice che ci sono due stili di programmazione per CGI.pm:Quali sono i pro e i contro dell'uso dei due diversi stili di programmazione di CGI.pm con Perl?

  • uno stile orientato agli oggetti
  • Uno stile funzione orientata

A meno che non abbia trascurato la risposta chiara o non sia abbastanza informata da discernere la risposta per me stesso dalla documentazione fornita a: http://perldoc.perl.org/CGI.html, semplicemente non so quali sono i pro e i contro dell'uso di questi due stili diversi.

Con ciò detto quali sono i pro e i contro dell'uso dei due diversi stili? Quale è più comunemente usato? Per quanto riguarda l'uso dello stile orientato agli oggetti, dice che posso usare un solo oggetto CGI al momento. Perché?

Grazie per tutto il vostro aiuto. Tutti voi avete studiato lo studio dell'informatica molto piacevole, soddisfacente e gratificante per me. = D

risposta

17

Dietro le quinte, CGI.pm sta facendo la stessa cosa nonostante gli stili. L'interfaccia funzionale usa effettivamente un oggetto segreto che non vedi.

Per molti progetti CGI su piccola scala, probabilmente non avrete mai bisogno di più di un oggetto CGI alla volta, quindi l'interfaccia funzionale va bene. Questo potrebbe essere lo stile più comune, ma solo perché la maggior parte delle persone crea piccoli script per attività molto specifiche. Se hai un sacco di altre cose in corso, potresti non gradire CGI.pm importando una lunga lista (ed è lunga) di nomi di funzioni nel tuo script. Alcuni nomi di funzioni potrebbero scontrarsi con quelli che altri moduli vogliono importare.

I, tuttavia, utilizzo sempre l'interfaccia orientata agli oggetti. Non devo preoccuparmi delle collisioni di nomi, ed è evidente da dove proviene qualsiasi metodo visto che vedi il suo oggetto. È anche facile passare l'oggetto come argomento ad altre parti di applicazioni di grandi dimensioni, ecc.

Alcune persone potrebbero lamentarsi della digitazione aggiuntiva, ma non è mai stata la parte lenta della programmazione per me. Sto facendo Perl da molto tempo e non mi interessa la sintassi. Tuttavia, io uso solo CGI per ottenere l'input e forse inviare l'output. Io non scherzo con nessuna delle cose HTML.

Quando parla di un oggetto CGI.pm alla volta, si riferisce all'accesso all'input. Ad esempio, dopo aver letto STDIN, un altro oggetto CGI.pm non sarà in grado di leggerlo. Puoi avere tanti oggetti quanti ne vuoi. Semplicemente non condivideranno i dati e il primo riceverà tutti i dati POST.

Si può effettivamente usare una miscela però. È possibile importare alcune cose, come :html, ma utilizzare comunque l'interfaccia OO per gestire l'input.

4

Si consiglia vivamente di utilizzare l'interfaccia dell'oggetto.

Sarà assolutamente necessario per il tuo lavoro di classe? No, in effetti è verosimilmente eccessivo per progetti di produzione anche di piccole dimensioni.

Tuttavia, se si è seriamente intenzionati a imparare a utilizzare CGI.pm per progetti su più ampia scala, è necessario conoscere il metodo dell'oggetto. Se raggiungi il punto di aver bisogno di due oggetti, dovrai utilizzare l'interfaccia dell'oggetto. La programmazione, come la maggior parte delle altre cose, migliora con la pratica.Praticare ora su problemi relativamente più facili ti aiuterà a essere pronto per quelli più complessi.

In effetti lo consiglierei come regola generale nella programmazione (anche se ci sono delle eccezioni) che se si affrontano due metodi di utilizzo di un particolare strumento prendendo l'abitudine di usare quello più probabile da utilizzare nel codice di produzione e/o quella che è la risposta corretta per più spazio del problema.

Problemi correlati