Encapsulation des donnees

Encapsulation des donnees

Encapsulation des données

L'encapsulation des données est une règle de microarchitecture (architecture détaillée) consistant à cacher les données d’une classe ou d’un module aux autres classes ou modules, c'est-à-dire, empêcher l'accès aux données par un autre moyen que des méthodes (fonctions membres). Par conséquent, l’interface d’une classe ou d’un module obéissant à ce principe n’expose jamais ces membres de données comme des variables, tableaux ou structures mais seulement des méthodes (fonctions membres).

Sommaire

Implémentation

Tous les langages de programmations orientés objets comme Java ou C++ offrent des limitateurs d’accès (niveaux de visibilité) permettant d’implémenter aisément le principe d’encapsulation des données. Les limitateurs traditionnels sont :

  • publique: les méthodes (fonctions membres) de toutes les autres classes ou modules peuvent accéder aux données possédant le niveau de visibilité publique. Il s'agit du plus bas niveau de protection des données.
  • protégée: l'accès aux données protégées est réservé aux méthodes (fonctions membres) des classes héritières. Il s'agit d’un niveau intermédiaire de protection des données.
  • privée: l'accès aux données privées est limité aux méthodes (fonctions membres) de la classe propriétaire. Il s'agit du niveau le plus élevé de protection des données.

Malheureusement, aucun langage de programmation orientée objet oblige le programmeur à protéger les données membres, autrement dit, il est toujours possible de les déclarer publiques. Il s’agit d’un anti-patron de conception que tout bon programmeur évite à tout prix et ce pour plusieurs raisons.

Motivation

  1. L'encapsulation permet de changer les structures de données d’un module ou d’une classe sans modifier l’interface de celle-ci et donc sans modifier les classes et modules qui l’utilisent. Cette situation arrive fréquemment lorsque l’on veut augmenter l’efficacité (rapidité de traitement) d’une classe ou d’un module, il faut souvent modifier les structures de données en conséquence.
  2. L'encapsulation permet d’ajouter aisément des règles de validation et des contraintes d’intégrité comme, par exemple, limiter le domaine des valeurs qu’une variable peut prendre (validité) ou vérifier que cette valeur n’entre pas en conflit avec les valeurs d’autres variables (intégrité).
  3. Plus généralement, l'encapsulation permet d’informer la classe qu’un changement à ses données est sur le point de survenir. Si cette information devient éventuellement cruciale, le programmeur n’ayant pas encapsulé les données se trouvera devant une impasse.
  4. L'encapsulation évite l’antipattern plat de spaghetti qui ne permet pas de déterminer le qui, le quoi et le comment d’une modification de données. En effet, l'application systématique de l'encapsulation impose un couplage faible et empêche donc le couplage fort, par espace commun ou par contenu, responsable du plat de spaghetti.
  5. Finalement, l'encapsulation permet d’offrir une interface orientée services et responsabilités, c’est-à-dire, d’offrir aux utilisateurs (programmeurs, abstractionnistes et architectes) de la classe ou du module une interface indiquant clairement quels services sont offerts et quelles sont les responsabilités de cette classe ou module.

Voir aussi

Notes et références

Pressman R. S., Software Engineering: A Practitioner's Approach, Third Edition. McGraw-Hill. Chapitre 10, 1992.

Ce document provient de « Encapsulation des donn%C3%A9es ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Encapsulation des donnees de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Encapsulation Des Données — L encapsulation des données est une règle de microarchitecture (architecture détaillée) consistant à cacher les données d’une classe ou d’un module aux autres classes ou modules, c est à dire, empêcher l accès aux données par un autre moyen que… …   Wikipédia en Français

  • Encapsulation des données — L encapsulation des données est une règle de microarchitecture (architecture détaillée) consistant à cacher les données d’une classe ou d’un module aux autres classes ou modules, c est à dire, empêcher l accès aux données par un autre moyen que… …   Wikipédia en Français

  • Encapsulation (Réseau) — Pour les articles homonymes, voir Encapsulation. L encapsulation, en informatique et spécifiquement pour les réseaux informatiques, est un procédé consistant à inclure les données de la couche d un protocole donné vers la couche d un protocole de …   Wikipédia en Français

  • Encapsulation (reseau) — Encapsulation (réseau) Pour les articles homonymes, voir Encapsulation. L encapsulation, en informatique et spécifiquement pour les réseaux informatiques, est un procédé consistant à inclure les données de la couche d un protocole donné vers la… …   Wikipédia en Français

  • Encapsulation (réseau) — Pour les articles homonymes, voir Encapsulation. L encapsulation, en informatique et spécifiquement pour les réseaux informatiques, est un procédé consistant à inclure les données d un protocole dans un autre protocole. Par exemple, l Internet… …   Wikipédia en Français

  • Encapsulation — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sur les autres projets Wikimedia : « Encapsulation », sur le Wiktionnaire (dictionnaire universel) L encapsulation en général est la notion …   Wikipédia en Français

  • Encapsulation (Programmation) — Pour les articles homonymes, voir Encapsulation. En programmation orientée objet, l’encapsulation est l idée de protéger l information contenue dans un objet et de ne proposer que des méthodes de manipulation de cet objet. Ainsi, les propriétés… …   Wikipédia en Français

  • Encapsulation (informatique) — Encapsulation (programmation) Pour les articles homonymes, voir Encapsulation. En programmation orientée objet, l’encapsulation est l idée de protéger l information contenue dans un objet et de ne proposer que des méthodes de manipulation de cet… …   Wikipédia en Français

  • Encapsulation (programmation) — Pour les articles homonymes, voir Encapsulation. En programmation orientée objet, l’encapsulation est l idée de protéger l information contenue dans un objet et de ne proposer que des méthodes de manipulation de cet objet. Ainsi, les propriétés… …   Wikipédia en Français

  • Système de gestion de base de données — En informatique un système de gestion de base de données (abr. SGBD) est un logiciel système destiné à stocker et à partager des informations dans une base de données, en garantissant la qualité, la pérennité et la confidentialité des… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”