Programmation Procédurale VS Programmation Orientée-Objet (POO)
Deux approches
- Programmation Procédurale : Centrée sur les procédures (ou opérations)
- Programmation Orientée-Objet : Centrée sur les données
La programmation procédurale
- Centrée sur les procédures (opérations)
- Décomposition des fonctionnalités d'un programme en procédures qui vont s'exécuter séquentiellement
- Couplage procédures/données
- Les données sont indépendantes procédures
- Les données à traiter sont passées en arguments aux procédures
- Ressemble peu à notre schème de penser
- Vue algorithmique d'un programme donc très près du langage de la machine
- Le programmeur doit faire un effort cognitif pour interpréter ce qu'il veut modéliser pour être "compris" par la machine
- Peu intuitif lors de l'analyse d'un code existant
- Tend à générer du code "Spaghetti"
- La maintenance et l'ajout de nouvelles fonctionnalités demandent de modifier ou d'insérer des séquences dans ce qui existe déjà
- Peu devenir complexe très rapidement
- Modularité et abstraction absente (ou presque)
- Réutilisation ardue => "Couper-coller" = DANGER!
- Travail d'équipe difficile (peu modulaire), donc la qualité du code en souffre
La POO
- Centrée sur les données
- Tout tourne autour des "objets" qui sont des petits ensembles de données représentants leurs propriétés
Ex.: Un chat a 4 pattes, une queue et fait partie de la famille des félins
Ex.: Une automobile 4 portes, familiale, moteur 6 cylindres, automatique, etc.
- Tout tourne autour des "objets" qui sont des petits ensembles de données représentants leurs propriétés
Définition
- schème (gr. skhêma, figure)
- Structure d'ensemble d'un processus.