Patterns & Anti Patterns

Slides:



Advertisements
Présentations similaires
EPITECH 2009 UML EPITECH 2009
Advertisements

Mathilde VINCENT - Olivier JOURDAN Paris - le 7/2/2012
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Architecture du logiciel I.
Réalisation d’un Framework pour la création de jeux d'arcades
Introduction au patrons de conception « Design patterns »
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
19 septembre 2006 Tendances Logicielles MDD/MDA : Génération dapplications avec IBM Rational Software Architect Jean-Pierre Schoch –
Critère d’ordonnancement en temps réel Partie II
Introduction Aux Systèmes en temps réel
Critère d’ordonnancement en temps réel Partie III
Threads et Capsules Optionnels
Systèmes en temps réel Modélisation du comportement en temps réel avec UML.
GEF499 Systèmes imbriqués à temps réel
Systèmes en temps réel Héritage avec les capsules.
Tolérance aux défaillances de logiciel
GEF 243B Programmation informatique appliquée
GEF 243B Programmation informatique appliquée
GEF 435 Principes des systèmes d’exploitation
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Génie logiciel avec composantes.
Hiver 2010JGA Beaulieu GEF 243B Programmation informatique appliquée Modules et masquage dinformation.
UML - Présentation.
INTRODUCTION.
Concevoir un système dinformation hospitalier évolutif, ouvert et adapté grâce à un processus de conception orienté modèle Benjamin Chevallereau Alain.
Page de garde Introduction aux Design Patterns ISIA, Mars 2003
La compréhension en lecture
Initiation à la programmation et algorithmique
Bases de l’Intelligence Artificielle Distribuée
Principes de la technologie orientée objets
JAVASERVER FACES Un framework Java pour le développement Web.
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Analysis and design of agent-oriented information systems OFER ARAZY et CARSON C. WOO University of British Columbia, Vancouver The Knowledge Engineering.
Analyse et Conception orientée objet
IFT451 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
Historique de SystemC Regroupe 4 courants didées: SCENIC Project : Synopsys+UC Irvine Philips System-Level Data Types, VSIA SLD DWG IMEC, Hardware-Software.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Patterns et maintenabilité dans lindustrie : un cas concret Christophe Saint-Marcel Silicomp Ingénierie.
Journées Pattern Grenoble - 1 Une expérience à l'IUT de Bayonne : Les patrons Composite et Interprète Philippe Lopistéguy I.U.T. de Bayonne-Pays.
SCIENCES DE L ’INGENIEUR
Programmation 2: IFT1025 Jian-Yun Nie H 2009.
Unified Modeling Langage
Design Patterns Factory Method – Pattern de construction [DANT] Génie Logiciel 1.
Portée, arrimages et intervenants Évolution des méthodes
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 1 Agnès Conte Département Informatique - IUT2 Grenoble Transparents issus dune présentation.
Programmation non procédurale Le projet ECOLE 2000
99 Réutilisation du code grâce à l'héritage. 9-2 Objectifs À la fin de ce cours, vous serez capables de : Définir l'héritage Utiliser l'héritage pour.
Sensibilisation a la modelisation
Masters IIGLI et IGLII – Programmation générique et conception objet – – Claude Montacié 1 Cours n° 4 Polymorphisme II.
Patrons de conceptions de créations
‹date/time›‹footer›1 Main Atelier sur le libellé des contrats d’assurance – Module 3 – Avenants Diapositive 1 de 12 Atelier sur le libellé des contrats.
Introduction à la programmation orientée objets
RAPPEL Qu’est ce qu’une structure de contrôle itérative ?
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
INTRODUCTION.
Mesures orientées objet GEF492A 2014 Référence: [HvV §12.1.6] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie informatique.
Les principes de la modélisation de systèmes
Design Patterns en programmation par objets. Plan  Design patterns –De quoi s’agit-il? –Pourquoi faut-il les utiliser?  Design patterns essentiels 
Supports de formation au SQ Unifié
Designs Patterns comment rendre son code faiblement couplé, et maintenable...
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
3.1 DÉTERMINANTS Cours 5.
IFT 785 Approches Orientée Objets Plan de cours. Information générale Professeur : – Sylvain Giroux –
Architecture, Abstraction et Topologie réseau
Power AMC-Rational Rational Rose, Étude comparative
Architecture, Abstraction et Topologie réseau DJBELL – 16/11/2010NSY208 CNAM.
Modèles de conception et BC4J Par Gabriela Cohen Yanéric Roussel.
Traitements d'images et Vision par ordinateur
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
UML : méthode Processus. Introduction(1) ● Cycles ● Spécification par cas d'utilisation ● Identifier les besoins ● Analyse par cas d'utilisation ● Affiner.
Design Patterns en programmation par objets
Transcription de la présentation:

Patterns & Anti Patterns Systèmes en temps réel Patterns & Anti Patterns

Synopsis Patterns (motifs de conception) Anti Patterns Définitions Patterns de design “Classiques” Exemples Anti Patterns Patterns & Anti-Patterns - 2

Qu’est-ce qu’un Pattern? “Chaque pattern décrit un problème qui se produit plusieurs fois dans notre environnement, et ensuite décrit le corps de la solution à ce problème, de tel façon que vous pouvez utiliser cette solution une million de fois, le faire de la même façon deux fois” [Christopher Alexander] De façon simple, c’est seulement la réutilisation du design Patterns & Anti-Patterns - 3

Qu’est-ce qu’un pattern de design “Classique”? “Un pattern de design décrit une structure de composantes communicantes qui se reproduit couramment et qui résout un problème de design général dans un contexte particulier.” [Gamma et al] Cela semble très “OO”, en fait cela ressemble beaucoup comme ROOM [Selic et al] ! Patterns & Anti-Patterns - 4

Pourquoi utiliser les patterns? Les avantages des patterns de design sont la réutilisation et la modularité, qui sont évidement les buts de design orienté objet pour le logiciel. Parce que les patterns de design capturent les connaissances expertes, les solutions qu’ils fournissent sont valides. Donc, ils ne rendent pas seulement les designs de systèmes larges plus rapides, mais ils améliorent aussi la qualité de ces designs. Patterns & Anti-Patterns - 5

Pourquoi utiliser les patterns? Les patterns de design fournissent un vocabulaire commun pour les designers pour qu’ils puissent communiquer en exprimant les designs logiciels à un plus haut niveau d’abstraction que celui d’une notation ou d’un langage de programmation. Être capable de reconnaître les patterns de design aide à comprendre les systèmes qui existent. Patterns & Anti-Patterns - 6

Exemples de patterns de design Composite Pattern [Gamma et al] Quel “vrais” systèmes peuvent contenir ce pattern? Patterns & Anti-Patterns - 7

Exemples de patterns de design– Reconnaissez-vous celui là? Patterns & Anti-Patterns - 8

Exemples de patterns de design– Reconnaissez-vous celui là? Patterns & Anti-Patterns - 9

Anti Patterns “Un anti pattern décrit une approche pour résoudre un problème commun, une approche qui en temps est prouvé comme étant mauvaise et hautement ineffective.” [Ambler] “Un anti Pattern est une forme littéraire qui décrit une solution qui se produit communément pour résoudre un problème et qui génère des conséquences négatives. L’anti pattern peut être le résultat de … ne pas savoir mieux, ne pas avoir les connaissances ou l’expérience nécessaires …” [Brown et al] Patterns & Anti-Patterns - 10

Exemples d’Anti Patterns Le Blob (Winnebago, the God Class) Décomposition Fonctionnelle (Pas d’OO) Code Spaghetti Ancre de Bateau Marteau en or Patterns & Anti-Patterns - 11

Exercice Quels patterns et anti patterns pourrait-on trouver dans “nos” labos de RoseRT? Patterns & Anti-Patterns - 12

Références Selic, B., Gullekson, Ward, Real-Time Object-Oriented Modeling, Wiley, 1994. Ambler, S., The Object Primer, Cambridge Univ. Press, 2001, Chapter 7. Gamma, E., et al, Design Patterns, Addison Wesley, 1994. Brown, Malveau, McCormick, Mowbray, AntiPatterns: Refactoring Software, Archictectures, and Projects in Crisis, Wiley & Sons, 1998. Douglass, B.P., Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems, Addison-Wesley, 2003. Patterns & Anti-Patterns - 13