Vous êtes sur la page 1sur 32

.

NET FRAMEWORK
.NET EST UNE PLATE-FORME DE DÉVELOPPEMENT COMPOSÉE
D'OUTILS, DE LANGAGES DE PROGRAMMATION ET DE
BIBLIOTHÈQUES PERMETTANT DE CRÉER DE NOMBREUX TYPES
D'APPLICATIONS.
L’ARCHITECTURE DE .NET FRAMEWORK
LA COMPILATION D’UNE APPLICATION .NET

• Un programme écrit dans l'un des langages .NET selon le Common Language Specification (CLS) est
compilée dans Microsoft Intermediate Language (MSIL ou IL). le code ainsi obtenu a l'extension exe, mais il
n'est pas directement exécutable, mais respecte le format MSIL unique. CLR comprend une machine virtuelle
similaire à une machine Java exécutant les instructions IL résultant de la compilation. La machine utilise un
compilateur JIT spécial (Just in Time). Le compilateur JIT analyse le code IL correspondant à l'appel d'une
méthode et produit le code machine approprié et efficace. Il reconnaît les séquences de code pour lesquelles il
était déjà obtenu le code machine approprié permettant sa réutilisation sans recompilation, ce qui rend les
applications .NET plus rapides pendant l'exécution. Le fait que le programme IL produit par les différents
langages soit très similaire a comme résultant en une interopérabilité entre ces langues. Ainsi, les classes et
objets créés dans langage spécifique à .NET peut être utilisé avec succès dans un programme écrit dans une
autre langue.
L’EXECUTION D’UNE APPLICATION .NET

• Quand l'exécution d'un programme démarre, le premier assemblage est chargé en


mémoire. Le CLR commence par examiner les permissions demandées par cet
assemblage et les compare à la politique de sécurité du système. Puis, si l'assemblage est
autorisé à s'exécuter, un processus est créé pour exécuter l'application. Le premier
morceau de code nécessaire à l'exécution est chargé en mémoire et est compilé en code
binaire natif par le compilateur JIT (Just-In-Time, JIT). Une fois compilé, le code est
exécuté et stocké en mémoire sous forme de code natif, garantissant ainsi que chaque
portion de code n'est compilée qu'une seule fois lors de l'exécution de l'application.
POURQOI .NET?

1. Moins de codage et augmentation de la réutilisation du code


2. Déploiement
3. Fiabilité
4. Sécurité
5. Utilisation sur différentes plates-formes et langues
6. Intégration avec Legacy Systems
7. Utilisation pour l’architecture orientée services
LE LANGAGE C#

• • Le C# est un langage à objet procédural


• • Syntaxe très proche de C++ et Java
• • C'est un langage très fortement typé
• • Il est épuré des constructions à risque
• • Il est non déclaratif (pas d'en-tête)
• • La bibliothèque est fortement structurée – utilisation d'espaces de nommages, –
accès via la directive « using ».
UNE APPLICATION CONSOLE

• Une application console, dans le contexte de C #, est une application qui prend
des entrées et affiche la sortie sur une console de ligne de commande avec
accès à trois flux de base: entrée standard, sortie standard et erreur standard.
• Il existe deux méthodes pour écrire dans la fenêtre de la console, qui sont
largement utilisées:
1. Console.Write ()
2. Console.WriteLine ()
EXAMPLE D’ UNE APPLICATION CONSOLE
LA STRUCTURE GENERALE D’UN
PROGRAMME C#
• Les programmes C # peuvent être constitués d'un ou plusieurs fichiers.
Chaque fichier peut contenir zéro ou plusieurs espaces de noms. Un espace
de noms peut contenir des types tels que des classes, des structures, des
interfaces, des énumérations et des délégués, en plus d'autres espaces de
noms.
LA SYNTAXE

• Majuscules <> minuscule (case sensitif)


• Les instructions se terminent par ;
• Les espaces de noms don’t declares par using
• // au /// indique que le reste de la ligne est un commentaire
• /* indique un debut de commentaire
• */ indique une fin de commentaire
• Un identificateur doit commencer par une letter ou _
LES MOTS CLÉ DE C# 
LES INSTRUCTIONS TRY-CATCH-FINALLY ET
THROW

• les mots clés try, catch et finally sont utilise pour essayer des actions qui
risquent de ne pas réussir, pour gérer les échecs lorsque vous décidez qu'il est
raisonnable de le faire et pour nettoyer les ressources par la suite. Les
exceptions peuvent être générées par le Common Language Runtime (CLR),
par .NET ou des bibliothèques tierces, ou par le code d'application. Les
exceptions sont créées à l'aide du mot-clé throw.
EXEMPLE D’UTILISATION DES
INSTRUCTIONS TRY-CATCH ET THROW
CLASSE DE BASE ET CLASSES DERIVE

• Les classes .NET peuvent dériver d'une autre classe


• .NET ne prend pas en charge l'héritage multiple
• La classe de base est spécifiée après le nom de la classe dérivée suivi de « : »
• L'accès à la classe de base se fait via le mot-clef « base »
• Utile pour initialiser la classe de base dans le constructeur de la classe dérivée
EXAMPLE D’UNE CLASSE DE BASE ET D’UNE CLASSE
DERIVE
LES CLASSES EN C#

• Les classes sont introduites avec « class »


• Les données membres se déclarent comme des variables
• Les méthodes comme des fonctions inline
• Plusieurs types de mode d'accès :
– private (accessibles de la classe, par défaut),
– public (accessibles de tout le monde),
– protected (accessibles des classes dérivées),
– internal (accessibles depuis l'assemblée, cf. ci-après).
EXEMPLE DE CLASSE EN C#
LES CONSTRUCTEURS
• Les constructeurs sont des fonctions spéciales, utilisés lorsque l'on instancie
une classe. Un constructeur ne peut pas renvoyer de valeur, c'est pourquoi il
n'est pas nécessaire de définir le type de retour.

Une méthode Un constructeur


normale est définie peut-être définit
comme ceci : comme cela :
public string Describe() public Car()
LES DESTRUCTEURS

• Le langage C# possède un ramasse-miettes, cela signifie que le framework


libère les objets qui ne sont plus utilisés. Il peut y avoir des occasions où un
nettoyage manuel est nécessaire. Un destructeur est une méthode appelée
lorsqu'un objet est détruit, il sert à libérer les ressources qu'il utilisait. Les
destructeurs ne ressemble pas aux autres méthodes en C#.
CONSTRUCTEURS ET DESTRUCTEURS
MÉTHODES ET DONNÉES STATIQUES

• • Les membres statiques sont déclarés avec le mot-clef « static »


• • L'instance est accessible des membres non statiques via le mot-
clef « this »
• • La méthode principale de la classe d'application doit être
publique et statique
LA PROGRAMMATION VISUELLE

• La programmation visuelle est un moyen de concevoir un programme à travers


opération directe sur un ensemble de graphiques (d'où le nom de programmation
visuel). Cette opération a pour effet d'écrire automatiquement certaines séquences
de programme, des séquences qui, avec les séquences écrites textuellement,
formeront le programme.
• On dit qu'une application est visuelle si elle possède une interface graphique
suggestive et fournit à l'utilisateur des outils spécifiques à utiliser (glisser, cliquer,
indice, etc.)
INTERFACES

• • Les classes peuvent implémenter une ou plusieurs interfaces


• • Elles en dérivent comme une classe
• • Les implémentations des méthodes doivent être publiques
• • Les interfaces se définissent avec le mot-clef « interface »
• • Les interfaces peuvent dériver d'une ou plusieurs autres interfaces
TOOLBOX

• Toolbox contient des commandes drag-and-drop standard et des composants


utilisés pour créer l'application Windows. Les contrôles sont regroupés en
catégories logique.
LES FENÊTRES
• L'espace Formulaires propose des classes spécialisées pour: la création de fenêtres
ou de formulaires (System.Windows.Forms.Form), des éléments spécifiques
(contrôles) tels que des boutons (System.Windows.Forms.Button), les zones de texte
(System.Windows.Forms.TextBox) etc. La conception d'une fenêtre est basée sur un
code complexe, généré automatiquement lorsque nous nous désignons ses
composants et son comportement. En fait, ce code effectue: dériver une propre
classe de System.Windows.Forms.Form, une classe qui est dotée avec une
collection de contrôles (initialement vides). Le constructeur de fenêtres effectue des
instanciations de Classes Button, MenuStrip, Timer, etc. (tout ce que nous plaçons
dans la fenêtre) et ajoutez les références ces objets à la collection de contrôles de
fenêtre.
• Il y a deux metodes d’activation d’une fenetre :
LES CONTRÔLES

Un contrôle est une instance d'une classe dérivée de System.Windows.Forms et est responsable
de dessiner une partie du conteneur. Visual Studio .NET est fourni avec un certain nombre de
commandes standard, disponibles en Toolbox.

Contrôle
s

Contrôles Contrôles de Les contrôles de Les contrôles


d'action valeur selection conteneurs
par ex. Bouton label, textbox, CheckBox, GroupBox, Panel,
picturebox RadioButton TabControl
LES ÉVÉNEMENTS

• Les événements permettent de notifier une information à des clients via des
callbacks
• Les événements utilisent des délégués
• Une liste de délégués est construite en interne pour chaque client
• Elle est mise à jour par les clients qui fournissent de simples délégués sur leurs
callbacks
• Les événements invoquent tous les délégués des clients lors de l'événement
IMPLÉMENTATION D'UN ÉVÉNEMENT
RÉCEPTION D'UN ÉVÉNEMENT
VALIDATION DES INFORMATIONS
UTILISATEUR

Validation des
informations utilisateur

Validation au niveau du champ


Validation au niveau de l'utilisateur Dans
Les données peuvent être validées au fur et
certaines situations la validation se fait à la fin
à mesure de leur saisie, en associant un
de la saisie de toutes les données au niveau un
traitement à l'un des les gestionnaires
dernier bouton ou lors de la fermeture de la
associés aux événements de niveau contrôle
fenêtre de données.
(Leave, Textchanged, MouseUp, etc.)
CONCLUSION
• Le C# est un langage simple mais puissant
• Il est fortement typé et épuré des constructions complexes ou à
risque
• Il dispose d'un ramasse-miettes mais reste performant
• Il s'appuie sur un environnement et une bibliothèque très riches
• Il est ouvert vers l'existant