doc [PHP] Programmazione a classi o in modo procedurale - l'eterno dilemma
_ scritto il 06.12.2007 alle ore 11:38 _ 2093 letture
Vedo spesso in giro programmatori e appassionati che si sbattono per cercare di entrare in un'ottica di programmazione a classi, dopo esser sempre stati fedeli ad un approccio più procedurale. In particolare lo vivono come una sorta di "passaggio ad un livello superiore", come se fosse una tappa obbligata del percorso professionale di un programmatore.

Niente di più sbagliato. Cercate di non sforzare mai un approccio a classi all'interno di un applicativo che non "sentite" destinato a quel tipo di sviluppo, perché peggiorereste solo le cose. Innanzi tutto perdereste tantissimo tempo nel cercare di entare in un'ottica che, evidentemente, ancora non vi appartiene del tutto. In secondo luogo doterete il programma di una complessità che probabilmente non è necessaria. In definitiva non forzate troppo la mano. Se in fase di progettazione il tipo di applicativo che dovete sviluppare necessita di una più profonda e vasta organizzazione, e quindi può trarre grande vantaggio dalle classi, state certi che lo avvertirete in modo netto e preciso. Altrimenti continuate pure tranquillamente a programmare nel classico modo procedurale, non c'è nulla di male o "dilettantesco". Il tutto cercando però di delineare blocchi specifici di codice o funzioni in modo da non ritrovarvi con un unico immenso listato difficile da leggere e interpretare.

Un'ottima via di mezzo, che per esempio utilizzo anche io in un certo tipo di applicativo multifunzionale, è quello di programmare la struttura esterna (l'involucro) tramite le classi, e le procedure relative alle varie funzioni in gran parte in modo procedurale. In questo modo avrete uno scheletro flessibile e profondamente particolareggiato, e allo stesso tempo potrete arricchire l'intero applicativo a seconda delle specifiche esigenze che vi si presenteranno, perché i moduli relativi alle singole funzioni sono indipendenti.
Darsch
_ chiavi di lettura:programmazione, php

_ potrebbero interessarti


_ Commento di Ryo _ profilo homepage
_ scritto il 11.12.2007 alle ore 15:38
Mah... non conosco il PHP, ma secondo me in generale è molto più faclle, riusabile, e "pulito" scrivere tutto a oggetti fin dall'inizio. In fondo il linguaggio procedurale è alla base del codice contenuto nei metodi: il segreto è nello scrivere piccoli oggetti che sanno fare poche cose, ma bene. ;)

darsch Risposta di Darsch
Sì in generale l'approccio è giustissimo, ma molto spesso in PHP c'è necessità di sviluppare piccoli applicativi o siti con funzioni molto limitate, e forzare un approccio a classi in quel caso è piuttosto inutile. Mi riferivo principalmente a questo, perché vedevo gente che per farsi il sito personale impazziva a cercar di capire come funzionavano classi e metodi. Dipende tutto da cosa si deve programmare, e anche da chi ci metterà le mani sopra. Nel caso di un progetto cui partecipano diversi programmatori, per esempio, direi che le classi sono d'obbligo.
Cmq il punto è che il passaggio da un tipo di programmazione all'altra, in PHP, non deve essere forzato. Quando si presenterà l'esigenza, ve ne accorgerete da soli.

commenta

_ Puoi inviare un commento libero oppure accedere o registrarti per avere un tuo profilo e sfruttare appieno le funzionalità del sito.

Accedi al sito o registrati

TOP
Utenti online: 61 ospiti
Ultimi utenti registrati: cri71, Renato1969, NinjiaKidd, Lucapietro, andinar
Visite univoche ai post da dic. 2007: 4.729.689
Post totali: 1297
Commenti totali: 6892
© darsch.it [2007-2017] _ Powered by Tribe Studio _ Cookie policy

Questo blog viene aggiornato senza alcuna periodicità e la frequenza degli articoli non è prestabilita, non può pertanto considerarsi un prodotto editoriale o una testata giornalistica ai sensi della legge n. 62 del 07/03/2001.

I contenuti di questo blog sono rilasciati sotto Licenza Creative Commons Attribuzione-Non commerciale-Non opere derivate 2.5 Italia, ad eccezione dei box 'citazione' o dove diversamente specificato. I commenti degli utenti sono di loro esclusiva proprietà e responsabilità.
Creative Commons License RSS 2.0 Valid XHTML 1.0