Programmazione Visual Basic .Net
Approccio didattico
Durante il corso verranno presentati gli argomenti sotto riportati mediante un approccio “evolutivo” basato sui seguenti passaggi:
- Esposizione del problema da risolvere (semplice e focalizzato sul concetto);
- Risoluzione del problema grazie all’introduzione di un nuovo concetto;
- Discussione dei vantaggi e degli svantaggi della soluzione proposta;
- Utilizzo degli svantaggi della soluzione come nuovo problema da risolvere.
Programma:
- Introduzione a Microsoft .Net
- Introduzione alla sintassi di Visual Basic .Net
- Tipi di dato
- Operatori
- Espressioni
- Programmazione orientata agli oggetti
- Concetto di classe, oggetto, metodo, ereditarietà
- Utilizzo di classi e oggetti
- Creazione di classi
- Metodi
- Creazione e chiamata di metodi
- Overloading
- Parametri opzionali
- Parametri di output
- Collection
- Introduzione alle collection del framework
- Interfacce
- Concetto di interfaccia
- Vantaggi delle interfacce
- Ereditarietà
- Classi base e derivate
- Classi astratte
- Polimorfismo
- Value Type e Reference Type
- Differenze nella gestione della memoria
- Differenze nel passaggio di parametri a metodi
- Gestione delle eccezioni
- Come funzionano le eccezioni
- Utilizzo di eccezioni del framework
- Creazione di eccezioni personalizzate
- Generics
- Classi generiche
- Utilizzo delle collection generiche
- Eventi
- Gestione degli eventi
- Creazione e gestione di eventi personalizzati
- Delegate come puntatori a metodo
- Generic delegate: Func e Action
- Struct
- Differenze tra struct e classi
- Extension methods
- Come estendere classi non estendibili
- Lamba expressions
- Introduzione
- Variazioni sintattiche delle lambda expression
- Contesto delle lambda expression
- Linq
- Concetto di provider Linq
- Esempi di utilizzo di Linq per filtrare, ordinare, raggruppare e proiettare dati di vario tipo
- Programmazione asincrona
- Introduzione alla programmazione asincrona
- Multitasking con la Task Parallel Library
- Operatori async ed await
- Oggetti dinamici
- Creazione e utilizzo di dynamic objects
- Utilizzo di linguaggi dinamici
- Gestione della memoria
- Gestione della memoria nel caso di risorse gestite
- Gestione della memoria nel caso di risorse non gestite
- Implementazione del Dispose Pattern