http://www.codeplex.com/ Wiki / View.aspx ? ProjectName=actionpack
Agile Web Application Framework MVC-Based
MVC-Based :
Model : mantiene lo stato dell’applicazione e si occupa della persistenza sul database.
View : responsabile della presentazione dei dati del modello e dell’interfaccia utente.
Controller : gestisce le richieste dell’utente, interagisce con il modello e richiama la vista corretta, a cui fornisce i dati da visualizzare.
Separazione dei compiti Ogni cosa al suo posto!
MVC-Based : http://localhost:81/home/index.rails
- home : controller
- index : action (metodo)
del controller home
- index : view associata
al controller home
Agile Web Application Framework MVC-Based
Agile Web Application Framework MVC-Based
AGILE : promuove un modello di sviluppo che, automatizzando i task ripetitivi, permette allo sviluppatore di concentrarsi sull’applicazione e non sull’infrastruttura.
Convention Over Configuration : limitare al minimo la necessità di file di configurazione, favorendo al contrario le convenzioni.
DRY (Don’t Repeate Yourself) : evitare le ripetizioni di codice favorendo la condivisione.
Test Support : supporto per i test funzionali (controller).
Costruzione di un progetto di base con Castle MonoRail Applicazione Demo
Rappresenta la parte Model di MonoRail
Implementazione del pattern ActiveRecord:
“ An object that wraps a row in a database table, encapsulates the database access, and adds domain logic on that data.” (Fowler, Patterns of EAA)
Basato su NHibernate
Persistenza gestita tramite meta-programmazione (attributi)
Non è necessario scriversi i file di mapping!
Validazione semi-automatica, gestita tramite attributi.
Operazioni CRUD automatiche
Disponibile anche separatamente da MonoRail
MonoRail components: ActiveRecord
Rappresenta la parte View e Controller :
Controller :
Funzionalità di base per la gestione del flusso dell’applicazione
Gestione automatica e trasparente della sessione
View :
Motore “ufficiale”: basato su NVelocity
Motori in sviluppo: WebForm, StringTemplate, Boo…
Strumenti per la generazione di HTML
MonoRail components: ActionPack
WebForms :
+ : Infrastruttura basata su .NET
+ : Supporto, documentazione, comunità di sviluppatori, ecc…
– : Complessità nella creazione e manutenzione delle applicazioni
http://hammett.castleproject.org/?p=59
“… my problem is that to do something that is more complex than just simply displaying one form on a page ASP.NET gets pretty complicated. Events are firing all over the place. I have to take viewstate into account… and then it became even more difficult to get stuff to respond the way I want them to respond. All in all it takes a really long time before I get something done properly….”
MonoRail vs WebForms
MonoRail :
+ : Infrastruttura basata su ASP.NET, .NET e Castle
+ : Semplicità nella creazione e manutenzione delle applicazioni
Part of the reason for Ruby on Rails' quick adoption is that it provides a solid framework for development that has enough features to keep us framework quasi-developers happy while staying out of the way enough to make the framework work for the developer instead of against them (CSLA anyone?). It's slick and sexy.
– : Supporto, documentazione, comunità di sviluppatori, ecc…
– : View basate su NVelocity (ma è davvero un problema?...)
MonoRail vs WebForms
DotNetMarche BookStore Tutorial.Start()
Generazione automatica dell’intelaiatura di base del sito web Task 1: Scaffolding
Personalizzazione dell’intelaiatura di base generata tramite Scaffolding Task 2: Creazione della parte “Admin”
Introduzione della validazione nel modello dei dati Task 3: Validazione
Generazione manuale della parte del sito dedicata alla vendita dei nostri prodotti Task 4: Creazione della parte “Store”
Gestione degli errori e delle eccezioni Task 5: Gestione degli errori
Creazione della fase di ordinazione e pagamento Task 6: Gestione degli ordini
Una migliore gestione della fase di ordinazione tramite l’utilizzo dei “ViewComponents” Task 7: I “componenti” di MonoRail
Creazione della fase di spedizione degli ordini Task 8: La fase di spedizione
Una migliore gestione della fase di spedizione tramite il “FormHelper” Task 9: La fase di spedizione - 2
Creazione e aggiunta degli utenti “admin” Task 10: Creazione della parte “Login”
Abilitazione della gestione degli utenti Task 11: Gestione del “Login”
Limitazione dell’accesso alla parte di amministrazione ai soli utenti “admin” Task 12: Introduzione ai “Filters”
Completamento del progetto con la correzione di alcune “imperfezioni” Task 13: Finalizzazione del sito web
Introduzione al supporto per i test offerto da MonoRail Task 14: Testiamo il tutto!
Il supporto ad Ajax in MonoRail Task 15: The Web, version 2.0
MonoRail è in continua evoluzione…
Caching
Generator
Migrate
Dynamic compiling
Support commerciale
Occhio a Marc-Andre! http://macournoyer.wordpress.com
0 comments
Post a comment