Skip to content

midrissi01/TP_IOC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rapport de l'inversion de contrôle et l'injection des dépendances

Introduction

IoC (Inversion of control), est un processus qui définit les dépendances d'un objet sans avoir à les créer. C'est lors de la création des objets, que Spring va injecter les Beans entre eux afin d'avoir toutes leurs dépendances.

Cela va aider le développeur la possibilité de se focaliser sur la partie Métier de l'application

Spring va s'occuper de l'injection des dépandences et toutes les fonctionnalités techniques

Ennoncé

  1. Couche DAO
    • créer l'interface IDao
    • créer une implémentation de l'interface IDao
  2. Couche Métier
    • créer l'interface IMetier
    • créer une implémentation de l'interface IMetier
  3. Couche Présentation

    Créer une application qui permet de faire l'injection des dépandences

    • Instantiation statique
    • Instantiation dynamique
    • En utilisant Spring Framework
      • version XML
      • version Annotation

Conception

Principe du couplage faible

conception image

Pour utiliser le couplage faible, nous devons utiliser les interfaces. Considérons une classe DaoImpl qui implémente l'interface IDao, et une classe MetierImpl qui implémente l'interface IMetier.

Si la classe MetierImpl est liée à l’interface IDao par une association, on dit que le classe MetierImpl et la classe IDaoImpl sont liées par un couplage faible.

Cela signifie que la classe MetierImpl peut fonctionner avec n’importe quelle classe qui implémente l’interface IDao. En effet la classe MetierImpl ne connait que l’interface IDao. De ce fait n’importe quelle classe implémentant cette interface peut être associée à la classe MetierImpl, sans qu’il soit nécessaire de modifier quoi que se soit dans la classe MetierImpl.

Avec le couplage faible, nous pourrons créer des applications fermées à la modification et ouvertes à l’extension.

Captures d'écrans

Création de l'interface IDao

interface IDao

Création d'une implémentation de l'interface IDao version Base de Données

impl version base de données

Création d'une implémentation de l'interface IDao version web services

IDapImpl version web services

Création d'une implémentation de l'interface IDao version capteurs

IDapImpl version capteurs


Création de l'interface IMetier

IMetier

Création d'une implémentation de l'interface IMetier

implementation de IMetier


Instantiation statique

instantiation statique

execution

instantiation statique execution

Instantiation dynamique

instantiation dynamique

execution

instantiation dynamique execution

Injection des dépendances en utilisant Spring version xml

On doit installer en premier lieu les dépandences, ensuite editer le fichier pom.xml

pom.xml

spring version xml

execution

Spring xml execution

Injection des dépendances en utilisant Spring version annotations

Repository Class

repository class

Service Class

service

Controller

i

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages