Différence entre couplage faible et couplage fort en Java

Un couplage fort signifie que les classes et les objets dépendent les uns des autres. En général, le couplage fort n’est pas bon car il réduit la flexibilité et la réutilisation du code, tandis que le couplage faible signifie la réduction des dépendances d’une classe qui utilise directement les différentes classes.
 
 

Couplage fort:
  • Un objet fortement couplé est un objet qui a besoin de connaître les autres objets et est généralement très dépendant les uns des autres.
  • La modification d’un objet dans une application fortement couplée nécessite souvent de modifier d’autres objets.

 
Exemple :

class Moteur {
   public int puissance = 0;
   
   public int getPuissance() {
      return puissance;
   }
   public void setPuissance(int p) {
         puissance = p;
   }
}
public class Voiture {
   public static void main(String[] args) {
      Moteur obj = new Moteur();
      obj.puissance = 255; //cela provoque un couplage fort.
      System.out.println("La puissance du moteur est : " + obj.puissance);
   }
}

 
Sortie:

La puissance du moteur est : 255

Dans l’exemple ci-dessus, le code utilise un couplage fort car la classe « Voiture » connaît les détails de la classe « Moteur », si la classe « Moteur » change la variable « puissance » en private, donc la classe « Voiture » sera brisée.
 
 

Couplage faible:
  • Le couplage faible permet de réduire les interdépendances entre les composants d’un système dans le but de réduire le risque que les changements dans un composant nécessitent des changements dans tout autre composant.
  • Le couplage faible est un concept destiné à augmenter la flexibilité du système, à le rendre plus maintenable et à rendre l’ensemble du framework plus stable.

 
Exemple :

class Moteur {
   public int puissance = 0;
   
   public int getPuissance() {
      return puissance;
   }
   public void setPuissance(int p) {
         puissance = p;
   }
}
public class Voiture {
   public static void main(String[] args) {
      Moteur obj = new Moteur();
      obj.setPuissance(255); 
      System.out.println("La puissance du moteur est : " + obj.getPuissance());
   }
}

 
Sortie:

La puissance du moteur est : 255

Dans l’exemple ci-dessus, le code utilise un couplage faible et est recommandé car la classe « Voiture » doit passer par la classe « Moteur » pour obtenir son état où les règles sont appliquées. Si la classe « Moteur » est modifiée en interne, la classe « Voiture » ne se brisera pas, car elle utilise uniquement la classe « Moteur » comme un moyen de communication.
 

Partagez cet article

Laisser un commentaire

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