Heim >Backend-Entwicklung >Golang >Kopplung und Kohäsion

Kopplung und Kohäsion

DDD
DDDOriginal
2024-11-24 14:06:36779Durchsuche

Kopplungskonzepte

  • Kopplung: Gibt an, inwieweit ein Modul andere kennt und von ihnen abhängt.
  • Geringe Kopplung: Änderungen in einem Modul haben weniger Auswirkungen auf die anderen.
  • Hohe Kopplung:  Änderungen in einem Modul können sich auf mehrere andere auswirken.

Kohäsionskonzepte

  • Zusammenhalt: Gibt an, wie gut die Verantwortlichkeiten eines Moduls gruppiert sind.
  • Hoher Zusammenhalt: Das Modul verfügt über entsprechende Verantwortlichkeiten und konzentriert sich auf die Ausführung einer einzelnen Aufgabe.
  • Geringe Kohäsion: Verantwortlichkeiten sind weniger miteinander verbunden.

Kommunikationsansätze

  • Messaging-Kommunikation.
  • Traditionelle Kommunikation.

Messaging-Kommunikation

  • Asynchrone Kommunikation.
  • Module senden und empfangen Nachrichten.
  • Definition von Nachrichtenverträgen über Schnittstellen.
  • Fördert die Entkopplung zwischen Modulen.
  • Module kommunizieren über Message Bus
  • Tools: RabbitMQ, Kafka usw.

Traditionelle Kommunikation

  • Funktionen zwischen Modulen aufrufen.
  • Verwendung von Objekten, Strukturen, Merkmalen zwischen Paketen.
  • Ein Modul ruft ein anderes Modul auf.
  • Verwendung von Namespaces, Paketen, Modulen.

Beobachtungen

  • Es ist schwierig, eine vollständige Entkopplung zu gewährleisten
  • Es gibt immer eine gewisse Abhängigkeit zwischen Modulen.
  • Selbst bei der Nutzung von Verträgen, Schnittstellen und Messaging wird es ein gewisses Maß an Abhängigkeit geben.
  • Es ist normal, dass es Abhängigkeiten zwischen einem Modul und einem anderen gibt.

Quellcode:

  • 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

Das obige ist der detaillierte Inhalt vonKopplung und Kohäsion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn