|
Forniamo la nostra esperienza nell'utilizzo del Framework Microsoft Dotnet e dell'ambiente Visual Studio tramite corsi personalizzati, in particolare orientati allo sviluppo di applicazioni Windows Form, al linguaggio C#, all'utilizzo di database, Microsoft Sql Server, PostgreSQL, SQLite, utilizzo dei design-pattern più comuni e migrazione di codice VB6, VBA e VB.NET. - Panoramica delle funzionalità di sviluppo, debugging e deployment - strumenti integrati per: Profiling (performance e memory leaks), unit test (Agile development), strumenti di analisi statica per la verifica del codice - Tipologie di progetto (Windows Forms, Console, Deployment, Windows Service, ASP.NET, Unit Test, ...) - Le finestre principali (Toolbox, proprietà, Solution Explorer, configurazione del progetto, click-once, Output, Error list, Task list, Immediata, Breakpoints, Threads, Locals, Resources, ...) - Strumenti per la scrittura del codice (Refactoring, highlighting, Object Explorer, ...) - Generazione della documentazione delle classi e sottocomponenti - Accenno alla gestione dei sorgenti (Mercurial/VisualHG/TortoiseHG, Team System, ...) - Best practice: gestione dei file/classi, regole condivise per il team, ...
Il framework Dotnet e il linguaggio C# - Cos'è il Framework Dotnet - Versioni del Framework - Il Framework Dotnet è multi os? Cos'è Mono? E per i sistemi Linux/Mac Os X? - Differenze principali tra VB6/VBA e C# (parte 1) - I namespace, il concetto di assembly, il caricamento degli assembly, clausula using - Offuscamento e decompilazione del codice - Utilizzo di dll esterne (Windows o di terze parti) - Il concetto di Reflection: tutto è possibile a runtime - Struttura e componenti utili del Framework (System, Reflection, Mail, IO, Threading, Timer, Xml, Xslt, Registro di sistema, ...) - Metodi utili del Framework - Le classi, partial class, User control, ... - Strutture di base (tipi, nullable, var, enum, type, eventi, metodi, funzioni, proprietà, eventi, delegate, out/ref, ...) - Strutture condizionali (if/else, for, foreach, while, do/while, switch, yield, Linq, ...) - Gestione degli errori a runtime (Exceptions, try, catch, finally) - I tipi e conversione tra tipi (Casting, Boxing, Unboxing) - Gli extension methods - Gestione della memoria (garbace collector, utilizzo di using, ...) - Basi di programmazione ad oggetti (interfaccie, ereditarietà, generics, override, ...) - Concetti di base di progettazione dei progetti: Top/Down, Bottom/Up, UML, separazione tra interfaccia grafica (UI) e accesso ai dati (DAL), i wrapper logici, le classi helper - Introduzione alla programmazione multithreading e problematiche pratiche (Thread, Timers, Lock, Monitor, ...) - Problematiche comuni nello sviluppo di codice, es. classi statiche, utilizzo del design pattern singleton - Librerie opensource vantaggiose: gestione file ini (Nini), gestione sistema di logging (log4net, NLog, Ionic.Utils.Zip), ...
System Windows Forms (SWF) - Le form, il Thread principale - Il modello ad eventi - Metodi utili del namespace - GDI - Forms Timer e problematiche multi-threading - Interazione tra componenti - Problematiche sui diversi sistemi operativi
Sql Server 2008 - Differenze tra i principali DBMS (Microsoft SQL Server, Oracle, Postgres, MySql, SQLite, ...), ambito applicativo e sistemi operativi supportati - Principali configurazioni di un sistema Sql Server - Principali configurazioni di un database Sql Server - Il linguaggio T-Sql e integrazione con il Framework Dotnet - I costrutti di base - Le performance per l'accesso ai dati
Sql Server e C# - Il namespace ADO - Le classi di base: il namespace System.Data - Interfacciamento con il database - Esempi applicativi
Conversione del codice - Differenze tra VB6, VBA e C# (parte 2) - Esempi applicativi
|