Introduction. Pourquoi utiliser les patterns Ne pas réinventer. Code facilement compréhensible par d'autres développeurs. Catalogue de solutions
|
|
- Flavie Joseph
- il y a 6 ans
- Total affichages :
Transcription
1 Design Patterns
2 Introduction Un pattern (ou patron) est une bonne pratique face à un problème récurrent intervenant dans les différents niveaux du processus: Analyse (Analysis pattern) Architecture (Architecural pattern) Conception (Design pattern) Pourquoi utiliser les patterns Ne pas réinventer. Code facilement compréhensible par d'autres développeurs Réduction de la complexité Catalogue de solutions 2
3 2- Les patrons de conceptions GoF On distingue trois catégories de patrons de conception selon leur utilisation : création : instanciation et configuration des classes et des objets structuraux : organisation des classes d une application comportementaux : distribution des responsabilités entre objets et description des algorithmes impliqués. 3
4 2-1 Création 1. Fabrique abstraite (Abstract Factory) 2. Monteur (Builder) 3. Fbi Fabrique (Factory Mthd) Method) 4. Prototype (Prototype) 5. Singleton (Singleton) 4
5 2-2 Structure 1. Adaptateur (Adapter) 2. Pont (Bridge) 3. Objet composite (Composite) 4. Décorateur (Decorator) 5. Façade (Facade) 6. Poids-mouche ou poids-plume (Flyweight) 7. Proxy (Proxy) 5
6 2-3 Comportement 1. Chaîne de responsabilité (Chain of responsibility) 2. Commande (Command) 3. Interpréteur (Interpreter) 4. Itérateur (Iterator) 5. Médiateur (Mediator) 6. Mémento (Memento) 7. Observateur (Observer) 8. État (State) 9. Stratégie (Strategy) 10. Patron de méthode (Template Method) 11. Visiteur (Visitor) 6
7 7 3-Création
8 Singleton Objectif: S'assurer qu'une classe ne possède qu'une seule instance et définir une méthode qui retourne cette instance public class Singleton { public static Singleton getinstance() { if (instance == null) instance = new Singleton(); return instance; } private Singleton() { } private static Singleton instance; 8 }
9 Structure Un champ privé qui représente l'instance unique de la classe: instance. Une méthode statique qui retourne l'instance unique. Un constructeur trivial privé (il peut être aussi protected dans le cas de l'héritage). Le client ne peut accéder à l'instance qu' à travers la méthode getinstance() 9
10 Exemples dans Java SE java.lang.runtime Runtime r= Runtime.getRuntime(); System.out.println("Mémoire libre: " + r.freememory()/(1024*1024)); System.out.println("Nombre processeurs: " + r.availableprocessors()); r.gc(); System.out.println("Mémoire libre: " + r.freememory()/(1024*1024)); System.out.println(«Mémoire totale: " + r.totalmemory()); Java.awt.Desktop java.awt.desktop d = java.awt.desktop.getdesktop(); if (Desktop.isDesktopSupported()) { try { d.browse(new URI(" d.edit(new File("d:/note.txt")); d.mail(); } catch (Exception ex) { Logger.getLogger(JavaApplication4.class.getName()).log(Level.SEVERE, null, ex); } } 10
11 Exemples dans le framework.net La classe DBNull DBNull d1,d2; d1 = DBNull.Value; d2 = DBNull.Value; if (d1 == d2) { Console.WriteLine("d1 et d2 sont identiques"); } 11
12 Factory Method Le pattern Factory Method permet de déléguer la création d'un objet aux sous classes concrètes d'une classe de base. Aantage Avantage: Dissocier l'implémentation des classes de leur utilisation 12
13 Structure Objet à créer: de type une interface ou une classe abstraite (IProduit) Une ou plusieurs classes concrètes (ProduitA, ProduitB, ProduitC). Une classe fabrique: ProduitFactory Une méthode de création: IProduit creerproduit(string it(ti type). Conséquences: Le code client est idé indépendant d des classes concrètes (ProduitA, ProduitB, ProduitC), et dépend uniquement de l'interface Iproduit. 13
14 Exemples dans le Framework.Net WebRequest //WebRequest classe abstraite, classes concrètes: HttpWebRequest,FileWebRequest,FtpWebRequest WebRequest requete = WebRequest.Create(" 14
15 Exemples dans Java SE DriverManager Connection cnx= DriverManager.getConnection(url); Statement inst= cnx.createstatement(); 15
16 Abstract Factory Objectif : Fournir une interface pour créer des objets apparentés ou regroupés en familles, sans connaître les classes concrètes responsables de leur instanciation. 16
17 Participants: IFactory : Fabrique abstraite qui contient les méthodes de création des produits. Factory1, Factory2: implémentent l'interface IFactory. IProduitA et IProduitB: interfaces pour créer des catégories de produits. ProduitA1 et ProduitA2 : classes concrètes qui implémentent IProduitA ProduitB1 et ProduitB2 : classes concrètes qui implémentent l'interface linterface IProduitB La classe Client utilisent les classes abstraites IFactory, IProduitA et IProduitB. Utilisation 17
18 18 Exemples dans le Framework.Net IHttpHandler et IHttpHandlerFactory
19 Exemples dans Java SE DocumentBuilderFactory try { String xmlfichier = "doc1.xml"; // obtenir la fabrique de parseurs DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance(); //obtenir le parseur DocumentBuilder builder = factory.newdocumentbuilder(); // Créer l'arborescence DOM du fichier XML Document doc =builder.parse(new File(xmlFichier)); } catch (Exception ex) { Logger.getLogger(JavaApplication4.class.getName()).log(Level.SEVERE, null, ex); } 19
20 Builder Le pattern Builder sépare la construction d'un objet complexe de sa création. Le même processus de construction peut créer des représentations différentes. le pattern Builder permet de déplacer la construction de l'objet composé en dehors de la classe à instancier. 20
21 Participants Ibuilder: interface pour les bild builders. Director: une séquence d'opérations à suivre pour créer les produits. Builder: une classe appelée par un Director pour réaliser des parties d'un produits. Produit: objet à construire par parties. Utilisation Construire des objets complexes, sans connaître leur structure. Construire des objets complexes ayant plusieurs représentations et implémentations. 21
22 Exemples dans le Framework.Net IHttpHandler et IHttpHandlerFactory //WebRequest classe abstraite, classes concrètes: HttpWebRequest,FileWebRequest,FtpWebRequest WebRequest requete = WebRequest.Create(" 22
23 Exemples dans Java SE DocumentBuilderFactory try { String xmlfichier = "doc1.xml"; // obtenir la fabrique de parseurs DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance(); //obtenir le parseur DocumentBuilder builder = factory.newdocumentbuilder(); // Créer l'arborescence DOM du fichier XML Document doc =builder.parse(new File(xmlFichier)); } catch (Exception ex) { Logger.getLogger(JavaApplication4.class.getName()).log(Level.SEVERE, null, ex); } 23
24 Prototype L'objectif du pattern prototype est de permettre la création de nouveaux objets bjt par la copie d'un ou de plusieurs exemplaires li appelés prototypes. 24
25 Exemples dans Java SE L'interface Cloneable,Object.clone() Exemples dans le Framework.Net ICloneable 25
26 4- Structure L'objectif des patterns de structuration est de séparer l'interface d'un objet ou d'un ensemble d'objets de son implémentation. pé tato 26
27 Facade L'objectif du pattern façade est de regrouper les interfaces d'un ensemble d'objets en une interface unifiée plus simple à utiliser par le client 27
28 28 Participants SystemeA, SystemeB et SystemeC: classes du système. Facade: classe qui encapsulent les opérations demandées par le client Client: le client accède au système via la classe Façade. Utilisation Fournir une interface simple d'un système complexe. Diviser un système en couches, la communication entre deux couches différentes peut être réalisée à l'aide des façades. Encapsuler l'implémentation d'un système vis-à-vis de l'extérieur Diminuer le couplage entre le client et le système
29 29 Adapter Le but du pattern Adapter est de convertir l'interface d'une classe existante en une autre interface attendue par des clients.
30 Participants ICible: interface utilisée par le client. Adapté: Implémentation qui doit être adaptée. Adapter: adaptateur, adapte l'interface de "Adapté" à l'interface demandée par le client. requete(): opération demandée par le client. Operation(): opération exécutée par Adapté, suite à l'appel de requete() Utilisation Intégrer un composant dans un système dont l'interface ne correspond pas à celle requise par le système. Fournir plusieurs interfaces lors de la conception d'un objet. Implémentations Java : MouseAdapter, WindowAdapter 30
31 Decorator Objectifs: Ajouter ou modifier dynamiquement des fonctionnalités à une classe. Fournir une alternative à l'héritage pour étendre une classe. 31
32 Participants Composant: classe dont le comportement doit être modifié. operation(): opération à modifier. IComposant: interface qui identifient les classes qui peuvent être décorées. Decorator : classe qui ajoute ou modifie des fonctionnalités d'un composant. Uili Utilisationi Graphiques, son, video. Une classe que nous souhaitons étendre, mais qui ne peut pas être héritée. 32
33 Exemples dans le Framework.Net CryptoStream: est de type Stream et possède un objet de type Stream passé comme paramètre au constructeur. BufferedStream Exemple d utilisation du pattern Decorator public partial class Photo : Form { Image image; public Photo() { image = new Bitmap("jup.jpg"); Text = "Jupiter"; this.paint += new PaintEventHandler( dessiner); //InitializeComponent(); } public virtual void dessiner(object srouce, PaintEventArgs e) { e.graphics.drawimage(image, 30, 20);}} public class CadrePhoto: Photo { Photo photo; Color couleur; public CadrePhoto(Photo p,color c) { photo = p; couleur = c; } public override void dessiner(object srouce, PaintEventArgs e) { base.dessiner(srouce, e); e.graphics.drawrectangle(new Pen(couleur,10),25,15,240,225);}} ) Photo p= new Photo(); CadrePhoto cp = new CadrePhoto(p, Color.Aqua); Application.Run(cp); 33
34 Bridge L'objectif du pattern Bridge est de séparer l'aspect représentation d'un objet de son aspect implémentation, ce qui permet à l'implémentation et la représentation d'évoluer indépendamment. 34
35 Participants ClasseAbstraite: Interface visible par le client, elle contient une référence vers un objet de type Bridge. 35
36 Composite L'objectif du pattern composite est de définir un cadre de conception d'une composition d'objets arborescente dont la profondeur est variable. 36
37 Participants Opération: opération à exécuter sur un IComposant. Composant: implémente les opérations applicables sur les composants atomiques. Composite: Implémente les opérations applicables sur une hiérarchie de composants. Client: le client utilise uniquement l'interface Icomposant. Uili Utilisationi 37
38 FlyWeight L'objectif du pattern Flyweight est de partager de façon efficace un ensemble d'objets important de grain fin. Le pattern flyweight distingue deux états possibles: L'état intrinsèque est partagé par tous les objets L'état extrinsèque est calculé dynamiquement. 38
39 Participants FlyweightFactory: crée des objets flyweight uniques Flyweight: stocke des attributs intrinsèques qui sont partagés par tous les objets. Utilisation Le système utilise un nombre important d'objets partégés 39
40 Proxy L objectif du pattern Proxy est de contrôler l accès à un objet en fournissant un intermédiaire i pour cet objet. Le proxy reçoit les requêtes du client, Au moment approprié il envoie ces requêtes au sujet réel (après l'avoir créé lors du premier appel). Comme le proxy et le sujet implémentent la même interface, alors il peuvent être librement interchangeables. 40
41 Participants ISujet: interface commune aux sujets et au proxy. Sujet: classe représentée par le proxy. Proxy: classe qui permet l'accès à Sujet requete(): opération redirigée via le proxy Types de proxys Proxy virtuel: permet de créer un objet de taille importante au moment approprié. p Proxy d'authentification: vérifie les permissions d'accès à une requête sont valides. Proxy distant: encode les requêtes et les envoie sur le réseau à un objet dans un environnement distant Smart Proxy: modifie la requête avant son envoi. Utilisation 41
42 5- Comportement L'objectif des patterns de comportement est de fournir des solutions pour distribuer les traitements et les algorithmes entre e les objets
43 Chain Of Responsability Objectif : Le pattern " Chain of Responsibility" construit une chaîne d objets telle que si un objet de la chaîne ne peut pas répondre à une requête, il puisse la transmettre à son successeur et ainsi de suite jusqu à ce que l un des objets de la chaîne y réponde. 43
44 Participants Client : classe qui demande l'exécution de la requête IHandler: interface des gestionnaires. Handler1, Handler2, : Gestionnaires. Successeur: lien vers le gestionnaire suivant Requete(): requete demandée par le client. Utilisation 44
45 Iterator Le pattern Iterator fournit un accès séquentiel à une collection d objets sans se préoccuper de l implantation de cette collection. 45
46 Observer Le pattern Observer construit une relation entre un objet (le sujet) et des observateurs de sorte que chaque modification du sujet soit notifiée aux observateurs 46
47 Participants Sujet: classe dont les instances doivent notifier les observateurs lorsque leur état change. IObserver Observer Update Notifier Utilisation 47
48 Implémentation
49 public class Client {public static void Exemple1() {Sujet s = new Sujet(); s.attacher(new Observer(s, "O1")); s.attacher(new Observer(s, "O2")); s.attacher(new Observer(s, "O3")); Console.WriteLine("Les observateurs sont créés, Tapez une touche pour modifier l'état du sujet"); Console.ReadKey(); // Modifier l'état du sujet et notifier les observateurs s.etat = "Etat1"; s.notifier(); Console.ReadKey();}} public abstract class IObserver {public abstract void Update();} public class Sujet : ISujet {public string etat { get; set; } } public abstract class ISujet { private List<IObserver> _observateurs = new List<IObserver>(); public void Attacher(IObserver observer){_observateurs.add(observer); } public void detacher(iobserver observer){_observateurs.remove(observe r);} public void Notifier() {foreach (IObserver o in _observateurs){o.update();}}} public class Observer : IObserver { private string _nom, _etat; private Sujet _sujet; public Observer(Sujet sujet, string nom){ this._sujet = sujet; this._nom = nom;} public override void Update() { _etat t = _sujet.etat; t t Console.WriteLine("Observateur: {0}, Etat: {1}",_nom, _etat);} public Sujet sujet{ get { return _sujet; } set { _sujet = value; }}}}
Plan. Patrons de conception. Motivations. Design Pattern : principe. Philippe Collet
Plan Patrons de conception Philippe Collet Master 1 Informatique 2005-2006 http://deptinfo.unice.fr/twiki/bin/view/minfo/gloo Introduction Premier exemple Principes et classification Présentation des patrons
Plus en détailHéritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
Plus en détailTutoriel: Création d'un Web service en C++ avec WebContentC++Framework
Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan
Plus en détailDesign patterns. Design patterns - définition. Design patterns - avantages
Design patterns Conception UML Implantation Java Anne Lapujade 1 Design patterns - définition 2 v Objectif : proposer des solutions standardisées à des problèmes de conception classiques v Design pattern
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailRMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.
RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples
Plus en détailCette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
Plus en détailAnalyse,, Conception Objet
Analyse,, Conception Objet Design Patterns Introduction Sommaire Conception Réutilisabilité Bibliothèque de classe vs. Framework Design Pattern Historique Catégories de Patterns Bibliographie O. Boissier,
Plus en détailEncapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailINITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Plus en détailJava DataBaseConnectivity
Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage
Plus en détailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailPar Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003.
JAVA et Design Pattern Page 1/26 JAVA et Design Pattern Etude des Pattern Design Modélisation UML, Etude et critique des implémentations Java Par Laurent DESECHALLIERS Mastère Spécialisé en Management
Plus en détailPolymorphisme, la classe Object, les package et la visibilité en Java... 1
Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....
Plus en détailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Plus en détailPrénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailPatrons de Conception (Design Patterns)
Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailProgrammation par composants (1/3) Programmation par composants (2/3)
Programmation par composants (1/3) La programmation par composant vise le développement de logiciel par aggrégation de briques logicielles existantes est indépendante de la POO La programmation par composant
Plus en détailCréation d objet imbriqué sous PowerShell.
Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.
Plus en détailRAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)
CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes
Plus en détailProjet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
Plus en détailTD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting
IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances
Plus en détailLOG4430 : Architecture logicielle et conception avancée
LOG4430 : Architecture logicielle et conception avancée Yann-Gaël Guéhéneuc Cours 3 Bibliothèques et chargement Dynamique de composants Département de génie informatique et de génie logiciel École Polytechnique
Plus en détailChapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailChapitre 2. Classes et objets
Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailDiagramme de classes
Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :
Plus en détailProjet de Veille Technologique
Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...
Plus en détailServeur d'archivage 2007 Installation et utilisation de la BD exist
Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier
Plus en détailUne introduction à la technologie EJB (2/3)
Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce
Plus en détailApprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)
Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les
Plus en détailFormation, Audit, Conseil, Développement, UX WinRT Silverlight WPF Android Windows Phone
Formation, Audit, Conseil, Développement, UX WinRT Silverlight WPF Android Windows Phone Articles et Livres Blancs gratuits à télécharger www.e-naxos.com Dot.Blog, le blog www.e-naxos.com/blog Copyright
Plus en détailProgrammation Par Objets
Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets
Plus en détailInfo0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java
Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan
Plus en détailPage 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>
Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances
Plus en détailTP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet
TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur
Plus en détailLes frameworks au coeur des applications web
Les frameworks au coeur des applications web Mémoire de bachelor réalisé par : Arielle Moro Directeur de mémoire : Peter Daehne, Professeur HES Genève, le vendredi 27 août 2010, Haute Ecole de Gestion
Plus en détailExtension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.
Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailDéveloppement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com
Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend
Plus en détailGestion du cache dans les applications ASP.NET
Gestion du cache dans les applications ASP.NET Version 1.0 James RAVAILLE http://blogs.dotnet france.com/jamesr 2 Gestion du cache dans les applications ASP.NET v 1.0 03/01/09 Sommaire 1 Introduction...
Plus en détailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailProgrammation Orientée Objet en C#
Programmation Orientée Objet en C# 1 Introduction 1.1 Présentation Tout bon développeur le sait, le code d'un programme doit être propre, commenté, facile à maintenir et à améliorer. Vous êtes adepte de
Plus en détailObjets et Programmation. origine des langages orientés-objet
Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève
Plus en détailLambda! Rémi Forax Univ Paris-Est Marne-la-Vallée
Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailJava et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.
: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailProgrammation MacOSX / ios
Programmation MacOSX / ios Master Ingénierie Informatique 2011-2012 Jean-Baptiste.Yunès@liafa.jussieu.fr deux extensions objets de C : C++ (Stroustrup) Objective-C (Cox & Love) ajout de constructions à
Plus en détail1. Installation d'un serveur d'application JBoss:
EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download
Plus en détailInitiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr
Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détailChapitre I : le langage UML et le processus unifié
I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et
Plus en détailLMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Plus en détailLe hub d entreprise est une application de déploiement des applications mais aussi un outil de communication
Le hub d entreprise est une application de déploiement des applications mais aussi un outil de communication Les méthodes clefs pour le management des applications (C#, C++, VB) InstallationManager.FindPackagesForCurrentPublisher
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détailMOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006
MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4
Plus en détailDis papa, c est quoi un bus logiciel réparti?
Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la
Plus en détailP r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )
P r ob lé m a t iq u e d e la g é n é r icit é les versions de Java antérieures à 1.5 permettaient de créer des classes de structures contenant n'importe quels types d'objet : les collections (classes
Plus en détailModélisation UML. Christine Solnon 2013-2014. INSA de Lyon - 3IF 1/140.
1/140. Modélisation UML Christine Solnon INSA de Lyon - 3IF 2013-2014 Introduction Positionnement de l UE / IF Domaines d enseignement du département IF : Système d Information Réseaux Architectures matérielles
Plus en détailPROJET : ETNIC ESB JANUS. Guide technique : WS-Notification - Clustering. BULL Services et Solutions
PROJET : ETNIC ESB JANUS Guide technique : WS- BULL Services et Solutions Date : 20 novembre 2008 Version : 1.0 Référence Bull : ETNIC_ESB/ANA/00 Auteur : NOSEDA Anne Projet ETNIC ESB JANUS Guide technique
Plus en détailCours de Génie Logiciel
Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes
Plus en détailServices Windows et Domaines d application
1 Sommaire... 1 1 Introduction... 2 2 Les services Windows... 3 2.1 Création et mise en place d un service pas à pas... 4 2.1.1 Créer un service... 4 2.1.2 Gérer son service Windows... 12 2.2 Exemple pratique...
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailConnexion à une base de données. Connexion à une base de données. Connexion à une base de données Développement d'une application
On souhaite réaliser la connexion d'un programme avec des sources de données Ici, des bases de données relationnelles Deux approches sont possibles qui mettent en œuvre chacune son propre jeu de classes
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailPackage Java.util Classe générique
Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object
Plus en détailLOG4430 : Architecture et conception avancée
LOG4430 : Architecture et conception avancée Abdou Maiga Patrons pour la conception d applications distribuées Département de génie informatique et de génie logiciel École Polytechnique de Montréal Guéhéneuc,
Plus en détailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailBTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais
BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3
Plus en détailCours 14 Les fichiers
Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une
Plus en détailSYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8
SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 INTRODUCTION Bonjour à tous; Aujourd hui je publie une nouvelle version de l adaptation de la Sync Framework Toolkit,
Plus en détailJava 7 Les fondamentaux du langage Java
184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque
Plus en détailLa carte à puce. Jean-Philippe Babau
La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus
Plus en détailRafraichissement conditionné d'une page en.net
Rafraichissement conditionné d'une page en.net Test avec AJAX pour rafraichissement En utilisant AJAX, voici une possibilité de faire un rafraichissement conditionné. Nous verrons dans cet article une
Plus en détailUne introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Plus en détailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailRemote Method Invocation en Java (RMI)
Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation
Plus en détailUtilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008
Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application
Plus en détailMaîtriser le menu contextuel dans un OfficeBean
Maîtriser le menu contextuel dans un OfficeBean Diffusé Par Le Projet Documentation d'openoffice.org Version 1.0 Aurélie Schröder Université de Genève Division informatique AurelieSch@netcourrier.com Table
Plus en détailPlan Pédagogique du cours
Plan Pédagogique du cours Module: Programmation Orientée Objet Section : informatique Niveau : 3 ème niveau (gestion, industriel, réseau) Volume Horaire : 22,5 heures Cours Intégrés + 45 Travaux Pratiques
Plus en détailADO.NET. Ado.net propose deux modes d'accès, le mode connecté et le mode déconnecté.
ADO.NET Ado.net est une technologie d'accès aux données qui fournit un ensemble des classes permettant d'accéder aux données relationnelles. Même si Microsoft a repris le nom d'ado, déjà présent en VB6,
Plus en détailLangage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Plus en détailet Programmation Objet
FACULTE POLYTECHNIQUE DE MONS Service d Informatique et Programmation Objet Mohammed Benjelloun 2 ème Bachelier Année académique 2008-2009 Table des matières Avant-propos--------------------------------------------------------------------------
Plus en détailCréation d un service web avec NetBeans 5.5 et SJAS 9
Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détail24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.
Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
Plus en détailMobile OGSI.NET: Grid Computing on Mobile Devices
Mobile OGSI.NET: Grid Computing on Mobile Devices David C.Chu Université de Californie, Berkeley Marty Humphrey Université de Virginie Publié en Novembre 2004 lors de la 5ième conférence IEEE/ACM International
Plus en détailLa base de données XML exist. A. Belaïd
La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques
Plus en détail