Vous êtes sur la page 1sur 7

EXPOSÉ

Programmation Web
Avancée

Mercredi 23 Mars 2022


Introduction
1. Programmation Orientée Objet (POO)
a. Définition
b. Éléments de la POO
c. Concepts principales de la POO
d. Les avantages de la POO
2. Design Pattern
a. Définition
b. Utilisations des Design Patterns
c. Modèles de création d’objets
d. Types de Design Patterns
3. Framework
a. Definition
b. Avantages

1
Programmation Orientée Objet
Définition
La programmation orientée objet (POO) est un modèle de programmation informatique qui organise la
conception des logiciels autour des données, ou objets, plutôt que des fonctions et de la logique. Un objet
peut être défini comme un champ de données qui possède des attributs et un comportement uniques.

La POO se concentre sur les objets que les développeurs veulent manipuler plutôt que sur la logique
requise pour les manipuler. Cette approche de la programmation est bien adaptée aux programmes de
grande taille, complexes et activement mis à jour ou maintenus. Cela inclut les programmes de fabrication
et de conception, ainsi que les applications mobiles ; par exemple, la POO peut être utilisée pour les
logiciels de simulation de systèmes de fabrication.

L'organisation d'un programme orienté objet rend également la méthode avantageuse pour le
développement collaboratif, où les projets sont divisés en groupes. Les autres avantages de la POO sont la
réutilisation du code, l'évolutivité et l'efficacité.

La première étape de la POO consiste à rassembler tous les objets qu'un programmeur souhaite manipuler
et à déterminer comment ils sont liés les uns aux autres - un exercice connu sous le nom de modélisation
des données.

Les exemples d'objets peuvent aller d'entités physiques, comme un être humain décrit par des propriétés
telles que son nom et son adresse, à de petits programmes informatiques, comme des widgets.

Une fois qu'un objet est connu, il est étiqueté avec une classe d'objets qui définit le type de données qu'il
contient et les séquences logiques qui peuvent le manipuler. Chaque séquence logique distincte est
appelée méthode. Les objets peuvent communiquer avec des interfaces bien définies appelées messages.

Éléments de la POO
La structure, ou les blocs de construction, de la programmation orientée objet comprennent les éléments
suivants :

● Les classes sont des types de données définis par l'utilisateur qui servent de modèle aux objets,
attributs et méthodes individuels.

2
● Les objets sont des instances d'une classe créées avec des données spécifiquement définies. Les
objets peuvent correspondre à des objets du monde réel ou à une entité abstraite. Lorsque la
classe est définie initialement, la description est le seul objet défini.
● Les méthodes sont des fonctions définies à l'intérieur d'une classe qui décrivent les
comportements d'un objet. Chaque méthode contenue dans les définitions de classe commence
par une référence à un objet d'instance. De plus, les sous-routines contenues dans un objet sont
appelées méthodes d'instance. Les programmeurs utilisent les méthodes à des fins de réutilisation
ou pour garder la fonctionnalité encapsulée dans un seul objet à la fois.
● Les attributs sont définis dans le modèle de classe et représentent l'état d'un objet. Les objets
auront des données stockées dans le champ des attributs. Les attributs de classe appartiennent à la
classe elle-même.

Concepts principales de la POO

La programmation orientée objet est basée sur les principes suivants :

● Encapsulation. Ce Principe stipule que toutes les informations importantes sont contenues dans
un objet et que seules certaines informations sont exposées. L'implémentation et l'état de chaque

3
objet sont conservés de manière privée dans une classe définie. Les autres objets n'ont pas accès à
cette classe et n'ont pas le droit d'y apporter des modifications. Ils peuvent uniquement appeler
une liste de fonctions ou de méthodes publiques. Cette caractéristique de dissimulation des
données assure une plus grande sécurité du programme et évite la corruption involontaire des
données.
● Abstraction. Les objets ne révèlent que les mécanismes internes qui sont pertinents pour
l'utilisation d'autres objets, en cachant tout code d'implémentation inutile. La classe dérivée peut
voir sa fonctionnalité étendue. Ce concept peut aider les développeurs à apporter plus facilement
des modifications ou des ajouts au fil du temps.
● Héritage. Les classes peuvent réutiliser le code d'autres classes. Les relations et les sous-classes
entre les objets peuvent être attribuées, ce qui permet aux développeurs de réutiliser une logique
commune tout en maintenant une hiérarchie unique. Cette propriété de la POO oblige à une
analyse plus approfondie des données, réduit le temps de développement et garantit un niveau de
précision plus élevé.
● Polymorphisme. Les objets sont conçus pour partager des comportements et ils peuvent prendre
plus d'une forme. Le programme détermine la signification ou l'utilisation nécessaire pour chaque
exécution de cet objet à partir d'une classe parent, ce qui réduit la nécessité de dupliquer le code.
Une classe enfant est alors créée, qui étend la fonctionnalité de la classe parent. Le
polymorphisme permet à différents types d'objets de passer par la même interface.

Les avantages de la POO

Les avantages de la POO sont les suivants :

● Modularité. L'encapsulation permet aux objets d'être autonomes, ce qui facilite le dépannage et le
développement collaboratif.
● Réutilisabilité. Le code peut être réutilisé grâce à l'héritage, ce qui signifie qu'une équipe n'a pas
besoin d'écrire le même code plusieurs fois.
● Productivité. Les programmeurs peuvent construire de nouveaux programmes plus rapidement
grâce à l'utilisation de bibliothèques multiples et de code réutilisable.
● Facilité de mise à niveau et d'évolution. Les programmeurs peuvent implémenter les
fonctionnalités du système de manière indépendante.

4
● Descriptions des interfaces. Les descriptions des systèmes externes sont simples, en raison des
techniques de passage de messages qui sont utilisées pour la communication des objets.
● Sécurité. En utilisant l'encapsulation et l'abstraction, le code complexe est caché, la maintenance
du logiciel est plus facile et les protocoles Internet sont protégés.
● Flexibilité. Le polymorphisme permet à une seule fonction de s'adapter à la classe dans laquelle
elle est placée. Des objets différents peuvent également passer par la même interface

Design Pattern
Définition
En ingénierie logicielle, un modèle de conception est une solution générale reproductible à un problème
courant de conception de logiciel. Un design pattern n'est pas une conception finie qui peut être
transformée directement en code. Il s'agit d'une description ou d'un modèle de la manière de résoudre un
problème qui peut être utilisé dans de nombreuses situations différentes.

Utilisation des Design Patterns


Les modèles de conception peuvent accélérer le processus de développement en fournissant des
paradigmes de développement testés et éprouvés.

Pour concevoir efficacement un logiciel, il faut tenir compte de problèmes qui peuvent ne devenir visibles
que plus tard dans la mise en œuvre.

5
La réutilisation des patrons de conception permet d'éviter des problèmes subtils qui peuvent être à
l'origine de problèmes majeurs et améliore la lisibilité du code pour les codeurs et les architectes qui
connaissent bien les patrons.

Souvent, les gens ne comprennent que la façon d'appliquer certaines techniques de conception de logiciels
à certains problèmes. Ces techniques sont difficiles à appliquer à un éventail plus large de problèmes.

Les patrons de conception fournissent des solutions générales, documentées dans un format qui ne
nécessite pas de spécificités liées à un problème particulier.

En outre, les patrons permettent aux développeurs de communiquer en utilisant des noms connus et bien
compris pour les interactions logicielles.

Les modèles de conception communs peuvent être améliorés au fil du temps, ce qui les rend plus robustes
que les conceptions basiques.

Modèles de création d’objets


Ces patrons de conception concernent tous l'instanciation des classes.

Ce modèle peut être divisé en modèles de création de classes et modèles de création d'objets.

Alors que les patrons de création de classes utilisent efficacement l'héritage dans le processus
d'instanciation, les patrons de création d'objets utilisent efficacement la délégation pour faire le travail.

Exemple de fabrique abstraite:

● Constructeur: Sépare la construction de l'objet de sa représentation


● Méthode Factory: Crée une instance de plusieurs classes dérivées
● Pool d'objets: Évite l'acquisition et la libération coûteuses de ressources en recyclant les objets
qui ne sont plus utilisés.
● Prototype: Une instance entièrement initialisée à copier ou à cloner.
● Singleton: Classe dont il ne peut exister qu'une seule instance.

Vous aimerez peut-être aussi