Teorico: Oggetti o procedurale?

Buongiorno a tutti, mi trovo alle prese con un dilemma, come da titolo topic: oggetti o procedurale?

Il tutto però è una questione teorica per il momento.

Riportando il tutto ad un caso pratico potreste darmi una mano a chiarire i miei dubbi?

Tutto questo è propedeutico ad una applicazione che forse dovrò realizzare.

Non sto a spiegare tutta l'applicazione di cui non conosco ancora tutte le specifiche ma solo l'applicabilità della programmazione ad oggetti; veniamo al punto.

Magazzino con articoli.

Ogni articolo potrebbe essere un oggetto:

- nel costruttore si passa il codice e quando viene creato recupera tutti i dati dell'articolo specifico oppure ne crea uno nuovo se non esiste.

- uno o più metodi "get" che restituiscono i dati dell'oggetto

- uno o più metodi "set" che impostano i dati dell'oggetto (modifiche, ecc)

- i relativi metodi privati per aggiornamento del db, ecc.

Con un approccio procedurale le funzioni starebbero in un file specifico esterno e sarebbero identiche a quelle dell'oggetto.

Quello che proprio non capisco è quale approccio potrebbe essere migliore, perchè alla fine dello script l'oggetto non esiste più e nella pagina successiva è necessario ricrearlo, mentre nelle applicazioni non web un oggetto esiste finchè non viene distrutto è persistente ovunque nel programma.

Ogni volta che si crea l'oggetto (ad eccezione della creazione di un nuovo articolo che potrebbe essere definito da un parametro) c'è un accesso al db per recuperarne tutti i dati, anche se magari serve solo la descrizione; niente da dire sul fatto che in caso di visualizzazione di un listino è forse meglio il procedurale che scorre una query.

Illuminatemi.

inviato 9 anni fa
LonelyWolf
X 0 X

Stai confondendo 2 problematiche, il paradigma di programmazione (oggeti o procedurale) e le performance del sistema. Anche se ci sono innegabili rapporti tra le due cose, adottare la programmazione OOP è una scelta dettata dalla consapevolezza dello sviluppatore che realizzarà il sistema informativo in maniera più pulita, solida, facilmente manutenibile, riutilizzabile, ecc...

Chi preferisce la programmazione OOP deve inevitabilmente scontrarsi con l'ottimizzazione delle prestazioni, ma ti assicuro che la soluzione sta sempre nell'uso attento della OOP.

E' normale che a prima vista la programmazione OOP in ambiente web potrebbe sembrare inutile, e per piccoli progetti forse è anche vero. Ma ti assicuro che invece, con un po' di esperienza e studiando i progetti altrui (soprattutto il framework basati sull'MVC) noterai che ci sono moltissime "genialate" che potresti realizzare con gli oggetti e che ti renderebbero lo sviluppo decisamente più agevole.

La programmazione OOP è un regalo per gli sviluppatori, a discapito (in minima parte e solo in certi casi) delle prestazioni. Una buona programmazione OOP ha benefici che superano di gran lunga tali costi.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Bene andrò a documentarmi meglio, d'altro canto fin'ora non ho avuto molto tempo per farlo ed a parte PHP 5 di Gutmans non ho potuto leggere troppo.

risposto 9 anni fa
LonelyWolf
X 0 X

Testi sulla programmazione ad oggetti "seria" in PHP non credo che esistano. Tutti si limitano a spiegare la sintassi del linguaggio nell'ambito OOP ma pochi affrontano i design pattern.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

discussione molto interessante se trovate in giro testi OOP in php che vanno oltre (come dice gianni) fatemi sapere :-p

io stavo cercando di costruirmi una serie di classi (anche se in php4)per gestire connessioni query e outup di tabelle con paginazione ......ho girato un po ma non ho trovato un gran che su come modellare le classi

risposto 9 anni fa
dyd666
X 0 X

Il mio consiglio è studiare il funzionamento (non necessariamente dall'interno) dei framework moderni ad oggetti, tipo lo Zend Framework ed il CakePHP.

Se leggete il manuale d'uso vi farete un'idea delle classi implementate da tali framework e di come vanno utilizzate. In questo modo vi sarà chiaro come la programmazione OOP può essere applicata allo sviluppo delle applicazioni web.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Testi sulla programmazione ad oggetti "seria" in PHP non credo che esistano. Tutti si limitano a spiegare la sintassi del linguaggio nell'ambito OOP ma pochi affrontano i design pattern.

 :bye:

Quel libro qualche cosa l'affronta, mi sembra di aver visto nell'indice: Singleton e non ricordo quale altro "metodo".

risposto 9 anni fa
LonelyWolf
X 0 X

[OT] Il tempo per l'edit è troppo corto! [/OT]

Ecco quali design pattern affronta quel libro:

Strategy Pattern

Singleton Pattern

Factory Pattern

Observer Pattern

Affronta è un po' troppo, diciamo che da una buona infarinatura a riguardo.

Però sempre nel capitolo dedicato all'OOP ci sono degli esempi chiari che spiegano sigleton e l'altro non ricordo devo studiare meglio!

risposto 9 anni fa
LonelyWolf
modificato 9 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda