Cours langage C++ principes de conception objet

Extrait du cours principes de conception objet

– La généricité: cette notion permet de définir des modules paramétrés par le type qu’ils manipulent.
Un module générique n’est alors pas directement utilisable : c’est plutôt un patron de module qui sera « instancié » par les types paramètres qu’il accepte. Cette notion est très intéressante, car elle
va permettre la définition de méthodes (façon de travailler) plus que de fonctions (plus formelles).
Ces définitions et ces nouveaux outils vont nous permettre de définir de nouvelles manières de concevoir des systèmes informatiques.
1.4 Principes de conception objet
1.4.1 Introduction
Après avoir énuméré les qualités souhaitables nécessaires à l’élaboration d’un système de qualité, il nous reste maintenant à déterminer les règles de construction de tels systèmes. D’un point de vue général, la construction d’un système informatique se résume par la formule :
Algorithmes+ Structures de données= Programme
Le concepteur d’un système informatique a donc deux grandes options pour l’architecture d’un système :
orienter sa conception en se basant sur les données ou sur les traitements.
Dans les méthodes de conception par traitements, qui constituent l’approche traditionnelle, la base de la réflexion est effectuée autour des traitements. Le concepteur considère ainsi les tâches que doit accomplir le programme, en décomposant celui-ci en une série de tâches simples (approche descendante) ou en le construisant par composition de traitements (fonctions) disponibles (approche ascendante). On peut faire les remarques suivantes sur ce type d’approche :
– Les modules trouvés par cette approche se trouvent souvent être des modules ad hoc, adaptés au type de problème posé au départ et ne permettant que peu d’extensibilité du système obtenu et que peu de réutilisabilité.
– Les traitements définis ne prennent pas assez en considération les structures de données sous-jacentes, qui se retrouvent partagées entre plusieurs modules. Il devient difficile dans ces conditions de maintenir et de protéger ces structures de données.
– Il n’est pas toujours évident d’identifier les traitements, ou leur enchaînement, impliqués dans un système informatique. Sur des cas simples, cela reste aisé, mais sur des cas plus compliqués (définition d’un système d’exploitation par exemple) cela ne permet pas de déduire une architecture naturelle.
– Les traitements sont généralement beaucoup moins stables que les données. En effet, un programme une fois terminé se verra souvent étendre par de nouvelles fonctionnalités, parfois en concordance avec les objectifs premiers du programme, mais pas toujours. Par exemple, n’importe quel programme devant initialement calculer des fiches de paie ou archiver des données devra par la suite effectuer des statistiques ou être capable de répondre interactivement alors qu’il était prévu initialement pour fonctionner chaque nuit ou chaque mois. Les données en revanche sont beaucoup plus stables, et si des modifications interviennent dans la représentation des données (ajout de la CSG pour les fiches de paie, ajout d’un champ supplémentaire dans le classement des données archivées), elles ne changent pas radicalement la représentation des données.

LIRE AUSSI :  Programmation C# Caractéristiques partagées avec le langage Java

……..

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours langage C++ principes de conception objet (280 KO) (Cours PDF)
principes de conception objet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *