Capitolo 2 - I principi fondamentali di Rails
Vedi tutte le pagine e le modifiche recenti o scarica i sorgenti nella pagina
Ruby on Rails presenta alcuni principi fondamentali che è utile conoscere per sfruttare al meglio questo stupendo strumento di lavoro. Conoscere i principi significa non solo coglierne la loro essenza, ma soprattutto metterla in pratica cercando di rispettare sempre questi “comandamenti”.
MVC – Model-View-Controller
Model-View-Controller (da adesso MVC) è considerato da molti uno dei paradigmi di sviluppo più utilizzati e più funzionali per le web application. Esso prevede la distinzione dell’intera applicazione in 3 grossi componenti, appunto i modelli (model), le viste (view) e i controller (ndr chiamarli controllori credo sia orrendo) ognuno con un proprio compito e ambito di utilizzo. Analizziamo nello specifico questi 3 componenti:- Modelli: rappresentano, seguendo una logica strettamente object-oriented, i dati e le informazioni che vengono trattate nella nostra applicazione: per esempio un sito di aste online potrà avere il modello oggetto in vendita e il modello offerta, mentre un’applicazione per una biblioteca il modello libro, il modello autore e il modello casa editrice. Tutto ciò che riguarda gli oggetti della web application sono definiti nel livello model: quindi proprietà degli oggetti, eventuali relazioni tra essi, comportamenti specifici di fronte ad un evento, salvataggio dei dati su database e cosi via. In Rails questo componente è gestito tramite ActiveRecords che implementa anche una funzionalità di ORM (analizzata successivamente).
- Viste: rappresentano tutto ciò legato alla presentazione dei modelli e di altre informazioni all’utente tramite appunto interfacce personalizzate più o meno usabili. Nel caso di web application saranno semplicemente dei file html (nel caso di Rails rhtml). Questo componente viene gestito da Rails tramite ActivePack.
- Controller: rappresentano il punto di contatto tra la richiesta dell’utente, i modelli e la risposta del server realizzata a partire da una vista. Si occupano inoltre delle funzionalità strettamente web come per esempio i controlli sulla sessione e l’invio di cookie. Anche questo componente viene gestito tramite ActivePack.
Ecco uno schemino riassuntivo del meccanismo diretto dal MVC:
DRY – Don’t Repeat Yourself!
Questo concetto, fortemente filosofico, prevede che ciascun elemento di un’applicazione debba essere implementato solamente una volta e niente debba essere ripetuto. Questo significa che, tramite le funzionalità di Rails, è possibile gestire funzionalità ripetitive tramite una estrema fattorizzazione del codice (scrivo una volta e uso più volte) che facilita sia lo sviluppo iniziale che eventuali modifiche successive del prodotto.
COC – Convention Over Configuration
Significa che Rails prevede delle impostazioni di default per qualsiasi aspetto dell’applicazione. Utilizzando queste convenzioni sarà possibile velocizzare i tempi di sviluppo evitando di realizzare scomodi file di configurazione. L’esempio più chiaro del COC si può notare a livello di modelli: rispettando le convenzioni previste dal framework è possibile realizzare strutture di dati complesse con molte relazioni tra oggetti in pochissimo tempo, in maniera quasi meccanica e soprattutto senza definire nessuna configurazione. Questo concetto differenzia Rails da quei framework che prevedono centinaia di righe di configurazione per qualsiasi aspetto dell’applicazione. Con il COC tutto diventa più snello e più dinamico. Ovviamente per situazioni in cui le convenzioni non possano essere rispettate, Rails permette di utilizzare schemi funzionali diversi da quelli previsti.
Capitolo 1 – Introduzione ai framework
Capitolo 3 – Installiamo Rails e creiamo la nostra applicazione