Il pattern MVC e Zend Framework – prima parte

La programmazione ad oggetti
di Sergio Vaccaro

La programmazione orientata agli oggetti (OOP) è una
tecnica di programmazione fortemente consolidata in molti linguaggi e consiste nel raggruppare in un’unica entità – la classe – un insieme di funzioni e di variabili.
Con gli strumenti dei linguaggi di programmazione OOP, poi, è possibile definire un
oggetto come istanza di una data classe ed attribuire a quell’oggetto le caratteristiche ed i comportamenti desiderati.

Per chiarire meglio, possiamo ricorrere a un esempio.
Immaginiamo che un programma debba avere accesso ad un filesystem remoto. A questo scopo, costruiamo una classe di oggetti che rappresenti la connessione al filesystem e che contenga le funzioni necessarie per realizzare le operazioni fondamentali in quel filesystem: connessione all’host remoto attraverso qualche protocollo, autenticazione, esecuzione di comandi remoti, verifiche, ecc.
Tutta la complessità di queste operazioni viene
isolata all’interno della classe.
In più, dotiamo la classe delle funzionalità di interesse globale, cioè le operazioni sul filesystem.

Nel flusso del programma, allora, potranno essere istanziati (si dice così) oggetti di quella classe.
Questi oggetti consentiranno di eseguire operazioni fondamentali – creare un file o una directory, leggere il contenuto di un file, elencare il contenuto di una directory, ecc. – come se fossero operazioni elementari.

Il termine oggetto è quanto mai felice. Utilizzeremo gli oggetti in programmazione esattamente come gli oggetti della vita reale: un telefono cellulare è uno strumento estremamente complesso e sofisticato, ma possiamo utilizzarlo senza doverci occupare delle caratteristiche del protocollo GSM, delle conversioni analogico/digitale e via dicendo.

I linguaggi di programmazione più noti che consentono (e a volte impongono) la programmazione OOP sono C++, Java, Python, Delphi, .NET, C# e PHP.

La programmazione a oggetti consente di isolare i problemi scomponendo strutture complesse in una somma di
strutture relativamente semplici.
Le classi, in quanto strutture di complessità inferiore a quella di un intero progetto, posso essere
riutilizzate in altri progetti.
Molte classi, quelle che svolgono task di natura generale, possono essere prelevate da
collezioni preesistenti e in alcuni casi scritte da sviluppatori altamente qualificati.

Si osservi che dal punto di vista delle prestazioni il risultato della programmazione a oggetti potrebbe essere più oneroso di quello tradizionale. Una classe potrebbe fare più del necessario, impegnare il compilatore un po’ più di quanto ci occorreva e produrre eseguibili complessivamente più grandi.
Il prezzo, però, è piuttosto basso, soprattutto se teniamo conto della potenza dell’hardware ormai disponibile anche a basso costo.
Il vantaggio invece è smisurato, in quanto la scrittura del codice diventa incredibilmente più veloce, oltre che flessibile e spesso affidabile.

Altrimenti scriveremmo tutto in linguaggio macchina!


One Response to “Il pattern MVC e Zend Framework – prima parte”

  1. t says:

    beh anche il linguaggio macchina ha il suo fascino :-D

    3E 41 D3…