Programmation C#

Aujourd'hui, coder c'est aussi concevoir en même temps. Un autre aspect important dans l'apprentissage d'un langage objet aujourd'hui, c'est l'omniprésence de la conception dans l'écriture du code. Écrire du bon code en objet c'est concevoir en même temps, car l'utilisation judicieuse des délégués, des interfaces, des classes abstraites, de la composition et de l'héritage permettent non seulement l'élaboration d'une infrastructure, mais aussi l'intégration (ou la personnalisation) de votre code avec le framework .NET. A la fin de ce cours, le participant sera en mesure de justifier le choix de la caractéristique utilisée. Cette compréhension et cette confiance dans sa sélection sont primordiales pour développer adéquatement une application. Le participant pourra aussi mettre en application un projet complet de A à Z réutilisant des composants communs.

Prochaines sessions

Aucune date ne convient?

Notifiez-moi si une session est ajoutée.

  • Durée: 4 jours
  • Prix régulier: $2,000
  • Prix préférentiel: $1,860

Plan de cours

Public concerné

Développeurs.

Préalables

Cours "Introduction au développement orienté-objet" ou la connaissance des concepts objet. Une expérience de C/C++, Java ou Visual Basic est un atout.

Objectifs

Ce cours de C# va au-delà de l'explication des nombreuses caractéristiques offertes par le langage. La majorité des livres, articles et formations traitent principalement du "comment" avec bien des exemples. C'est bien, mais on oublie le plus important : préciser "pourquoi" et "quand" l’on doit utiliser une caractéristique. Ces explications sont fondamentales :
  • pour bien comprendre "pourquoi" cette caractéristique a été intégrée dans le langage (sa raison d'être) et pourquoi elle contribue à résoudre telle problématique;
  • pour discerner "quand" cette dernière est utile pour régler et faciliter la solution à un problème.

Méthode pédagogique

Exposés - Démonstrations - Exercices dirigés et individuels.
La répartition du contenu est approximativement : matériel 35% et laboratoires 65%

Contenu

  • Bref historique de C#
  • Meilleures pratiques d'utilisation avec Visual Studio pour les solutions et les projets
  • Standardisation, soutien de plateformes, relations entre le C# et le CLR
  • Survol du Framework .NET
  • Concepts objet importants en C#
  • Classes, objets et espaces de nommage: utilisation des modificateurs d'accès et unités de compilation
  • Membres de classe et réutilisation: champs, méthodes, paramètres, utilisation de méthodes publiques, protégées, internes et privées
  • Déclaration de constructeurs, de champs en lecture seulement, de propriété, d'indexeur et de destructeur
  • Système de type unifié: référence, valeur, littéraux, conversions, emboîtage (Boxing) et désemboîtage (Unboxing)
  • Opérateurs et expressions: priorité et associativité
  • Instructions: bloc, sélection et itération
  • Chaînes, Tableaux, variables et paramètres
  • Passage d'arguments par valeur, par référence, avec nombre variable et avec arguments nommés
  • Variables locales implicitement typées et surcharge de méthodes
  • Collections et génériques
  • Réutilisation de classes : agrégation et héritage
  • Comparaison de l’agrégation et de l’héritage
  • Types avancés : Délégués (Delegates) et événements (Events)
  • Utilisation des inférences de délégué,
  • Utilisation des délégués pour les rappels (callback), les événements et les méthodes anonymes
  • Exceptions et gestion des erreurs: try-catch et finally blocs et lancement throw
  • Importance de la classe racine: pour la comparaison et le clonage d'objets
  • Classes abstraites et interfaces
  • Polymorphisme et accesseurs: surcharge (overload) vs redéfinition (override) de méthodes
  • Création de types valeur : structure (struct) et énumération (enum)
  • Expressions lambda et méthodes d'extensions
  • Programmation de fils d’exécution (threads)
  • Les états et les priorités d’un thread
  • Création, démarrage, réordonnancement et synchronisation des threads
  • Utilisation de la classe Monitor
  • Utilisation de classes d'entrées / sorties, fichiers, flux (Streams), attributs et sérialisation
  • Projet complet de A à Z réutilisant des composants communs avec interfaces console et graphique

Savoir s’entourer des meilleurs

Michel de Champlain
Michel de Champlain
Formateur, architecte et créateur du langage B#
Animé d’une passion qui captive, stimule et implique ses participants, Michel est un formateur enthousiaste et authentique.
Simon Bourassa
Simon Bourassa
Formateur et conseiller en TI
Simon est passionné par le développement logiciel et le développement de produits, mais avant tout par l’ensemble des gens cachés derrière ces codes, qui travaillent main dans la main pour développer des solutions innovantes.
Pierre-Edouard Brondel
Pierre-Edouard Brondel
Formateur et conseiller en bureautique
Expert en pédagogie dans le domaine des technologies et de la bureautique cumulant plus de 25 ans d’expérience, Pierre-Édouard est d’abord et avant tout un passionné de capital humain.
Valère Drainville
Valère Drainville
Formateur et conseiller en efficacité professionnelle
Expert en collaboration et en efficacité professionnelle, Valère Drainville saura vous accompagner dans l’adoption et la gestion de vos outils de travail collaboratifs.