background preloader

Patron de conception

Patron de conception
Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir Patron. En informatique, et plus particulièrement en développement logiciel, un patron de conception (en anglais : design pattern) est un arrangement caractéristique de modules, reconnu comme bonne pratique en réponse à un problème de conception d'un logiciel. Il décrit une solution standard, utilisable dans la conception de différents logiciels[1]. Les patrons de conception décrivent des procédés de conception généraux et permettent en conséquence de capitaliser l'expérience appliquée à la conception de logiciel. Ils ont une influence sur l'architecture logicielle d'un système informatique. Les types de patrons[modifier | modifier le code] Les patrons de conception ne sont ni des patrons d'architecture ni des idiotismes de programmation. Description[modifier | modifier le code] Les patrons servent à documenter des bonnes pratiques basées sur l'expérience. Histoire[modifier | modifier le code] Adapter Bridge Builder

http://fr.wikipedia.org/wiki/Patron_de_conception

Related:  Langages de programmation

Programmation orientée objet Un article de Wikipédia, l'encyclopédie libre. Il est possible de concevoir par objet une application informatique sans pour autant utiliser des outils dédiés. Il n'en demeure pas moins que ces derniers facilitent de beaucoup la conception, la maintenance, et la productivité. On en distingue plusieurs sortes : Origines[modifier | modifier le code] Depuis, la programmation par objet n'a cessé d'évoluer aussi bien dans son aspect théorique que pratique et différents métiers et discours mercatiques à son sujet ont vu le jour : Lisp Un article de Wikipédia, l'encyclopédie libre. Lisp est la plus ancienne famille de langages impératifs et fonctionnels. Développé initialement en tant que modèle pratique pour représenter des programmes (par contraste avec la notion théorique de Machine de Turing), il est devenu dans les années 1970 et 80 le langage de choix pour la recherche en intelligence artificielle.

Indépendance fonctionnelle Un article de Wikipédia, l'encyclopédie libre. L'indépendance fonctionnelle est la métrique la plus importante en architecture logicielle, elle mesure l'autonomie d'un composant logiciel. Cette métrique donne des indicateurs sur la possibilité d'extraction d'un composant se trouvant dans un logiciel existant et sa simplicité d'intégration dans un autre logiciel. Il s'agit donc d'une mesure de la possibilité de réutilisation d'un composant logiciel. Programmation fonctionnelle Un article de Wikipédia, l'encyclopédie libre. Machine à états et effets secondaires[modifier | modifier le code] Programmation impérative et effets de bord[modifier | modifier le code] La programmation impérative s'appuie sur le modèle des machines à états (cf. aussi machine de Turing et Architecture de von Neumann), avec une mémoire centrale et des instructions qui modifient son état grâce à des affectations successives. On peut représenter un tel programme par une machine à états qui représente les états successifs de la mémoire. Cela nécessite pour le programmeur de connaître à tout instant un modèle exact de l'état de la mémoire que le programme modifie.

Couplage (informatique) Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir Couplage. Selon Pressman[1], il existe sept niveaux de couplage, du plus faible au plus fort : Programmation impérative Un article de Wikipédia, l'encyclopédie libre. Ce type de programmation est le plus répandu parmi l'ensemble des langages de programmation existants, et se différencie de la programmation déclarative — ou logique —, et de la programmation fonctionnelle. Langages impératifs et processeurs[modifier | modifier le code]

Cohésion (informatique) Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir Cohésion. La cohésion est un principe de conception informatique définissant un degré d'accord entre les différents éléments d'un module. Selon Larman[1], un module cohérent a ses éléments étroitement liés et effectuant un nombre réduit d'opérations. Des modules peu cohérents sont généralement difficiles à comprendre, à réutiliser et à maintenir, et sont fragiles, puisqu'ils sont affectés par les modifications apportées aux autres modules. La cohésion peut être une métrique mesurant l'application des principes d'encapsulation des données et de masquage de l'information.

Langage de programmation Un article de Wikipédia, l'encyclopédie libre. Les langages de programmation permettent de décrire d'une part les structures des données qui seront manipulées par l'appareil informatique, et d'autre part d'indiquer comment sont effectuées les manipulations, selon quels algorithmes. Ils servent de moyens de communication par lesquels le programmeur communique avec l'ordinateur, mais aussi avec d'autres programmeurs; les programmes étant d'ordinaire écrits, lus, compris et modifiés par une communauté[3]. Les premiers langages de programmation ont été créés dans les années 1950. Rétroingénierie Un article de Wikipédia, l'encyclopédie libre. La rétroingénierie (traduction littérale de l'anglais reverse engineering), également appelée rétroconception, ingénierie inversée ou ingénierie inverse, est l'activité qui consiste à étudier un objet pour en déterminer le fonctionnement interne ou la méthode de fabrication. Plusieurs objectifs peuvent être visés par cette analyse : comprendre le fonctionnement de cet objet, pour être en mesure de l'utiliser correctement, de le modifier, ou encore de s'assurer de son bon fonctionnement[1];fabriquer une copie de cet objet alors qu'on ne peut en obtenir ni les plans ni les méthodes de fabrication (activité généralement illégale sur un plan juridique)[réf. nécessaire] ;créer un nouvel objet ayant des fonctionnalités identiques à l'objet de départ, sans viol de brevet ;analyser un objet produit par un concurrent, soit dans le cadre d'une activité de veille concurrentielle soit pour détecter d'éventuelles violations de brevets.

Related: