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
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!