L'encapsuler

Le véritable objectif de l'encapsulation est de rassembler en un seul endroit les connaissances liées au dispositif d'une certaine entité, les règles de manipulation et les opérations avec celui-ci. L'encapsulation est apparue beaucoup plus tôt que prévu. Les modules des programmes C sont l'encapsulation. Les routines d'assembleur sont l'encapsulation.

L'opposé de l'encapsulation est la diffusion des connaissances sur le fonctionnement de quelque chose tout au long du programme.

Lors de la mise en œuvre du comportement, nous choisissons parfois parmi plusieurs options équivalentes. À l'avenir, le poids de l'une des options rejetées pourrait augmenter sous l'influence du changement de circonstances, l'option choisie et mise en œuvre plus tôt deviendra infructueuse. Changer la décision sera beaucoup plus facile si absolument tous les détails de la mise en œuvre de l'option sélectionnée sont concentrés en un seul endroit.

Exemple: travailler avec des valeurs monétaires. Ce n'est un secret pour personne que dans de nombreux systèmes de commerce électronique, les valeurs monétaires sont implémentées sous forme de nombres à virgule flottante. Je pense que nous sommes tous conscients qu'avec la simple addition de deux nombres "entiers" représentés comme des variables à virgule flottante, un "légèrement non entier" peut se former. Par conséquent, avec une telle implémentation, il faut insérer un appel de fonction d'arrondi ici et là. Il s'agit de l'étalement des connaissances sur la structure de l'entité tout au long du programme. L'encapsulation dans ce cas est de rassembler (cacher) en un seul endroit la connaissance que l'argent est représenté comme une valeur à virgule flottante, et qu'il doit constamment être arrondi pendant les opérations les plus innocentes. Cachez-vous pour que lors de l'utilisation de l'entité «argent», la question de l'arrondi n'entre même pas. Avec l'encapsulation, il n'y aura aucun problème à remplacer l'implémentation de la "monnaie" d'un nombre à virgule flottante à un nombre à virgule fixe.

Source: https://habr.com/ru/post/fr435900/


All Articles