Perché perdere tempo a considerare principi e pattern, object-orientation e interfacce quando con qualche click azzeccato si riesce a mettere su una mezza applicazione? La considerazione non è banale: nel tempo dedicato a capire (e nemmeno a fondo) se sia meglio il pattern X o il pattern Y uno stesso sviluppatore potrebbe aver messo al mondo e magari mostrato all’utente una demo semi-funzionante. Gli strumenti RAD sono stati una vera rivoluzione, comunque un progresso, e hanno cambiato il modo in cui si sviluppa il software. Ma, ed è questo il punto, hanno cambiato involontariamente anche il modo in cui si progetta il software. E questo è un regresso.
La produttività spinta all’eccesso diventa un freno e vale sempre il vecchio adagio per cui chi va piano va sano e va lontano. Come fare per tornare alla vecchia saggezza anche nel rutilante mondo del software?
Una rinfrescata di object-oriented design, un sussurro di pattern, una robusta dose di principi universali; mescolate e condite con del refactoring grattugiato fresco, poi tenete in incubazione per qualche giorno e sarete pronti per ripensare le vostre attuali soluzioni o, se non altro, per crearne di nuove su basi sicuramente più solide e realmente produttive a medio termine (cioè non nel giro di due ore). Pur essendo basati su piattaforma .NET i contenuti del corso e gli esempi mostrati hanno tuttavia valenza più ampia e possono essere adattati facilmente per altre piattaforme.
Il corso si rivolge a sviluppatori di ogni estrazione tecnica e ad architetti alla ricerca di informazioni e prospettive per basare le proprie decisioni future
Principi generali di software design
- Da RAD a OOP: trappole, pattern, refactoring, analisi del dominio
- Interface-based programming
- Correttezza del software
- Object modeling
Idiomatic design
- Modellazione del dominio del problema
- Aspect-oriented programming ed estendibilità delle soluzioni
- Architettura di classe enterprise
Business layer e persistenza
- Service layer
- Presentation layer