Vous êtes sur la page 1sur 43

La Programmation Par Composants 1

La Programmation Par Composants 1

Yassamine Seladji

yassamine.seladji@gmail.com

25 septembre 2017

1 / 27
La Programmation Par Composants 1

Introduction

On peut résoudre un problème complexe en :


I le décomposant en sous problèmes afin de diminuer sa
complexité et de faciliter sa résolution.
I réutilisant ou en adaptant des solutions existantes.

2 / 27
La Programmation Par Composants 1

Introduction

3 / 27
La Programmation Par Composants 1

Introduction
I Assembler plusieurs composants pour construire un nouveau
composant.
I Les composants facilitent la description d’une application
complexe.
I Une famille de composants.
I Connexion entre ces composants.

4 / 27
La Programmation Par Composants 1

La Programmation Orientée Composants

Définition :
La programmation orientée composant :
I est une méthode qui décompose un problème en grandes
sections, appelées composants.
I est utilisé pour le développement de logiciels par agrégation
de briques logicielles existantes.

5 / 27
La Programmation Par Composants 1

La Programmation Orientée Composants

Définition :
Un composant est une brique logicielle, de taille variable (une
classe ... application entière). Un composant doit être caractérisé
par :
I sa robustesse : dois définir le comportement voulu, sans bug.

6 / 27
La Programmation Par Composants 1

La Programmation Orientée Composants

Définition :
Un composant est une brique logicielle, de taille variable (une
classe ... application entière). Un composant doit être caractérisé
par :
I sa robustesse : dois définir le comportement voulu, sans bug.
I sa généricité : dois être adaptable à des applications
différentes.

6 / 27
La Programmation Par Composants 1

La Programmation Orientée Composants

Définition :
Un composant est une brique logicielle, de taille variable (une
classe ... application entière). Un composant doit être caractérisé
par :
I sa robustesse : dois définir le comportement voulu, sans bug.
I sa généricité : dois être adaptable à des applications
différentes.
I son abstraction : dois être utilisable dans des applications
différentes (une interface claire).

6 / 27
La Programmation Par Composants 1

La Programmation Orientée Composants

Un composant peut être :


I technique : ossature du code, éléments d’interface graphique,
utilitaire pour manipuler des données...
I métier : définit des entités du domaine (client, produit...).
I applicatif : utilisé dans le traitement internes d’une
application.
Exemple de modèle de programmation orienté composant :
I EJB (Entreprise Java Beans).
I Java beans.
I Le modèle .NET.
I ...
7 / 27
La Programmation Par Composants 1

La Programmation Orientée Composants

Plusieurs frameworks et technologies sont basés sur le modèle


orienté composants :
I Bundles définis dans la plateforme de service OSGi.
I Component une plateforme web pour des js et css modulaire.
I Component Object Model (OCX/ActiveX/COM) et
DCOM de Microsoft.
I Enterprise JavaBeans de Sun Microsystems (aujourd’hui
Oracle).
I ...

8 / 27
La Programmation Par Composants 1

JavaBean

Définition
Un JavaBean est : ,
I un module autonome pouvant être installé sur différentes
plateformes (fichier .jar).
I un modèle de composant proposé par Java.
I une classe Java spéciale.
I une implémentation qui suit les spécifications de l’API
Javabeans.

9 / 27
La Programmation Par Composants 1

JavaBean

Les caractéristiques d’une classe JavaBean :


I Son constructeur ne prend pas de paramètres.

10 / 27
La Programmation Par Composants 1

JavaBean

Les caractéristiques d’une classe JavaBean :


I Son constructeur ne prend pas de paramètres.
I Il doit implémenter l’interface Serializable.

10 / 27
La Programmation Par Composants 1

JavaBean

Les caractéristiques d’une classe JavaBean :


I Son constructeur ne prend pas de paramètres.
I Il doit implémenter l’interface Serializable.
I Ses propriétés(attributs) sont toujours privés, et ont des
getteurs et setteurs.

10 / 27
La Programmation Par Composants 1

JavaBean

Les caractéristiques d’une classe JavaBean :


I Son constructeur ne prend pas de paramètres.
I Il doit implémenter l’interface Serializable.
I Ses propriétés(attributs) sont toujours privés, et ont des
getteurs et setteurs.
I Ses méthodes utilisables par les composants extérieurs doivent
être public et gérer les accès concurrents.

10 / 27
La Programmation Par Composants 1

JavaBean

Les caractéristiques d’une classe JavaBean :


I Son constructeur ne prend pas de paramètres.
I Il doit implémenter l’interface Serializable.
I Ses propriétés(attributs) sont toujours privés, et ont des
getteurs et setteurs.
I Ses méthodes utilisables par les composants extérieurs doivent
être public et gérer les accès concurrents.
I Les beans communiquent via le modèle évènementiel et le
pattern d’écouteur (Listener).

10 / 27
La Programmation Par Composants 1

JavaBean

11 / 27
La Programmation Par Composants 1

JavaBean : les propriétés

I Les propriétés sont les attributs de la classe, ils peuvent être


de n’importe quel type Java.
I Ils doivent être privées.
I Ils peuvent avoir des accès en lecture, en écriture, en lecture
seul ou en écriture seul.

12 / 27
La Programmation Par Composants 1

JavaBean : les propriétés

I Les propriétés sont les attributs de la classe, ils peuvent être


de n’importe quel type Java.
I Ils doivent être privées.
I Ils peuvent avoir des accès en lecture, en écriture, en lecture
seul ou en écriture seul.
Méthodes Description
getAttribut La méthode permet de récupérer la valeur de Attribut.
setAttribut La méthode permet de changer la valeur de Attribut.
IsAttribut La méthode retourne un booléen.

12 / 27
La Programmation Par Composants 1

JavaBean : les propriétés

13 / 27
La Programmation Par Composants 1

JavaBean : les propriétés liées

I La propriété liée est une propriété qui appartient à un


JavaBean et qui est observée par un autre JavaBean. Le
mécanisme utilisé implémente le pattern Observer.

14 / 27
La Programmation Par Composants 1

JavaBean : les propriétés liées

I La propriété liée est une propriété qui appartient à un


JavaBean et qui est observée par un autre JavaBean. Le
mécanisme utilisé implémente le pattern Observer.
I Le JavaBean observé intègre un objet de type
PropertyChangeSupport :

14 / 27
La Programmation Par Composants 1

JavaBean : les propriétés liées

I La propriété liée est une propriété qui appartient à un


JavaBean et qui est observée par un autre JavaBean. Le
mécanisme utilisé implémente le pattern Observer.
I Le JavaBean observé intègre un objet de type
PropertyChangeSupport :
I PropertyChangeSupport manipule un ensemble d’écouteurs de
type PropertyChangeListener qui ont le rôle d’observateurs.

14 / 27
La Programmation Par Composants 1

JavaBean : les propriétés liées

I La propriété liée est une propriété qui appartient à un


JavaBean et qui est observée par un autre JavaBean. Le
mécanisme utilisé implémente le pattern Observer.
I Le JavaBean observé intègre un objet de type
PropertyChangeSupport :
I PropertyChangeSupport manipule un ensemble d’écouteurs de
type PropertyChangeListener qui ont le rôle d’observateurs.
I PropertyChangeSupport permet de notifier aux écouteurs les
changements liés à une propriété liée.

14 / 27
La Programmation Par Composants 1

JavaBean : les propriétés liées

15 / 27
La Programmation Par Composants 1

JavaBean : les propriétés liées

I Le JavaBean observateur implémente l’interface


PropertyChangeListener :
I Contient la méthode void
propertyChange(PropertyChangeEvent evt).
I la classe PropertyChangeEvent encapsule les données qui
décrivent le changement de valeur de la propriété.

16 / 27
La Programmation Par Composants 1

JavaBean : les méthodes

I Les classes JavaBeans peuvent aussi avoir des méthodes :


I ces méthodes doivent être publiques.
I c’est toute méthode qui ne fait pas partie de la définition d’une
propriété.

17 / 27
La Programmation Par Composants 1

JavaBean : les évènements


I En plus des propriétés et des méthodes, les beans
communiquent par le biais d’évènements.

18 / 27
La Programmation Par Composants 1

JavaBean : les évènements


I En plus des propriétés et des méthodes, les beans
communiquent par le biais d’évènements.
I Les évènements suivent un pattern de nommage spécifique.

18 / 27
La Programmation Par Composants 1

JavaBean : les évènements


I En plus des propriétés et des méthodes, les beans
communiquent par le biais d’évènements.
I Les évènements suivent un pattern de nommage spécifique.

I le type listener doit doit de la classe java.util.EventListener.

18 / 27
La Programmation Par Composants 1

JavaBean : les évènements


I En plus des propriétés et des méthodes, les beans
communiquent par le biais d’évènements.
I Les évènements suivent un pattern de nommage spécifique.

I le type listener doit doit de la classe java.util.EventListener.


I Les évènements sont basés su le design pattern Observer.
18 / 27
La Programmation Par Composants 1

JavaBean : les évènements

19 / 27
La Programmation Par Composants 1

JavaBean : les évènements

19 / 27
La Programmation Par Composants 1

JavaBean : les évènements

19 / 27
La Programmation Par Composants 1

JavaBean : les évènements

19 / 27
La Programmation Par Composants 1

JavaBean : les évènements


Exemple :

I X −→ Action.
I Y −→ Bouton.
20 / 27
La Programmation Par Composants 1

JavaBean : les évènements

Exemple :
I Créer un évènement quand un Smiley souris.
I Plusieurs auditeurs peuvent être à l’écoute de cet évènement
(implémenter SourireListener).
I Créer le bean qui :
I ajoute et retire les auditeurs (listeners).
I crée l’évènement SourireEvent quand le smiley sourit.
I notifie l’évènement à tous les auditeurs.

21 / 27
La Programmation Par Composants 1

JavaBean : les évènements

22 / 27
La Programmation Par Composants 1

JavaBean : les évènements

23 / 27
La Programmation Par Composants 1

JavaBean : les évènements

24 / 27
La Programmation Par Composants 1

JavaBean : les évènements

25 / 27
La Programmation Par Composants 1

JavaBean : Exercice 1

I Écrire un JavaBean qui représente un abonné.


I Un abonné est caractérisé par :
I nom et prénom.
I adresse mail.
I son centre d’intéret : économie, politique, sport, . . .

26 / 27
La Programmation Par Composants 1

JavaBean : Exercice 2

I Écrire un JavaBean qui représente une liste d’abonnés.


I Le JavaBean contient :
I une méthode ajoutAbonne : qui permet d’ajouter un abonné.
I une méthode supprimeAbonne : qui permet de supprimer un
abonné.

27 / 27

Vous aimerez peut-être aussi