Maison >développement back-end >Golang >Couplage et cohésion

Couplage et cohésion

DDD
DDDoriginal
2024-11-24 14:06:36878parcourir

Concepts de couplage

  • Couplage : Indique dans quelle mesure un module connaît et dépend des autres.
  • Couplage faible : les modifications dans un module ont moins d'impact sur les autres.
  • Couplage élevé :  Les modifications apportées à un module peuvent en affecter plusieurs autres.

Concepts de cohésion

  • Cohésion : indique dans quelle mesure les responsabilités d'un module sont regroupées.
  • Haute cohésion : le module a des responsabilités connexes et se concentre sur la réalisation d'une seule tâche.
  • Faible cohésion : les responsabilités sont moins liées.

Approches de communication

  • Communication par messagerie.
  • Communication traditionnelle.

Communication par messagerie

  • Communication asynchrone.
  • Les modules envoient et reçoivent des messages.
  • Définition des contrats de messages via les interfaces.
  • Favorise le découplage entre modules.
  • Les modules communiquent via Message Bus
  • Outils : RabbitMQ, Kafka, etc.

Communication traditionnelle

  • Appelez des fonctions entre modules.
  • Utilisation d'objets, de structures, de traits, entre packages.
  • Un module appelle un autre module.
  • Utilisation d'espaces de noms, de packages, de modules.

Observations

  • Il est difficile de garantir un découplage total
  • Il y a toujours une certaine dépendance entre les modules.
  • Même avec l'utilisation de contrats, d'interfaces et de messagerie, il existera un certain niveau de dépendance.
  • Il est normal qu'il y ait des dépendances entre un module et un autre.

Code source :

  • https://github.com/ortizdavid/golang-modular-software

Acoplamento e Coesão

Acoplamento e Coesão

Acoplamento e Coesão

Acoplamento e Coesão

Acoplamento e Coesão

Acoplamento e Coesão

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn