Pattern
Abbiamo scelto di sviluppare BrewDay come applicazione web, in modo che fosse utilizzabile ovunque e con qualsiasi dispositivo. Basandoci sulle competenze del team e ponendo particolare attenzione alla semplicità d'utilizzo e apprendimento dei framework in circolazione, ci siamo orientati verso una soluzione che prevedesse l'utilizzo di Microsoft .NET Framework ed in particolare dell'architettura Model View Controller.
Una scelta di questo tipo porta con sé una serie di conseguenze molto importanti, che influiscono sull'intero progetto. Microsoft .NET MVC 5 mette a disposizione svariati strumenti che si integrano tra loro e facilitano non di poco la vita del programmatore, offrendo soluzioni valide a gran parte dei comuni problemi di sviluppo. Tra questi, l'integrazione del pattern MVC con Entity Framework 6, che si occupa di gestire completamente l'accesso a una base di dati, permette allo sviluppatore di ottenere fin da subito un punto di partenza solido e quasi trasparente.
Nello specifico, sia .NET MVC che Entity Framework sfruttano nativamente molti pattern architetturali e design pattern da noi studiati, consentendoci di riporre la nostra fiducia in essi e di preoccuparci principalmente del lato funzionale del prodotto. É per questo motivo che non abbiamo dovuto implementare personalmente alcun pattern, in quanto quelli offerti dai framework si sono rivelati sufficienti a coprire egregiamente tutte le esigenze del progetto.
Ciò non significa che anche in futuro, con l'avvento di nuove funzionalità, non avremo bisogno di implementare alcun pattern per il nostro progetto... ma per quanto riguarda la prima versione del nostro software, il cui scopo era principalmente quello di rimanere semplice e intuitivo per un team poco pratico nel settore, ci riteniamo pienamente soddisfatti di quanto siamo riusciti ad ottenere.
Abbiamo quindi deciso di illustrare quali sono i pattern nativamente offerti da .NET MVC e Entity Framework, con un piccolo excursus relativo alle possibilità di integrazione di quest'ultimo con altri pattern spesso usati nel settore.