Frage

Was ist Zusammenhalt und Entkoppelung? Ich fand Informationen über Kupplung, aber nicht etwa zu entkoppeln.

War es hilfreich?

Lösung

Dieser Artikel von Aaron ist sehr gut für das Verständnis, empfehle ich möchte auch, dass Sie bemannen Publikationen Frühling in Aktion Buch, geben sie sehr gute Beispiele dafür, wie die Feder löst dieses Problem wird Ihr Verständnis für diese auf jeden Fall verbessern.

EDIT:

Ich kam quer durch den in diesem großen Buch mit dem Titel von Tests geführt objektorientierte Software-Growing:

Kupplung:

Elemente gekoppelt sind, wenn eine Änderung in eine Kraft eine Änderung in dem anderes. Zum Wenn beispielsweise zwei Klassen erben von einem gemeinsamer Elternteil, dann in einer Änderung Klasse könnte eine Änderung in der erfordern andere. Denken Sie an einem Combo-Audio-System: Es ist eng gekoppelt, denn wenn wir will von analog zu digital ändern Radio, müssen wir das ganze wieder aufbauen System. Wenn wir ein System zusammenbauen aus trennt, wäre es geringe Kopplung haben und wir konnten einfach tauschen die Empfänger. „Lose“ gekoppelt Merkmale (Das heißt, diejenigen mit niedrigen Kopplungs) sind leichter zu pflegen.

Kohäsion:

Ein Element- Zusammenhalt ist ein Maß ob seine Verantwortung bilden ein sinnvolle Einheit. Zum Beispiel kann eine Klasse dass Parsen beide Termine und URLs ist nicht kohärent, weil sie nicht verwandt Konzepte. Denken Sie an eine Maschine, die wäscht sowohl Kleidung und Geschirr-es ist unwahrscheinlich, sowohl well.2 Am tun andere Extrem, eine Klasse, die Parsen nur die Interpunktion in einer URL unwahrscheinlich, kohärent zu sein, weil es kein Gesamtkonzept darstellen. Zu etwas getan bekommen, wird der Programmierer müssen andere Parser finden Protokoll, Host, Ressourcen, und so weiter. Features mit „hohen“ Kohärenz sind leichter zu pflegen.

Andere Tipps

Zusammenhalt - im Zusammenhang mit dem Grundsatz, dass eine Klasse / Methode für eine Sache verantwortlich sein sollte nur das heißt es gibt keine Streu Methoden, die dies nicht tun, gehören in der Kapselung; ein Verfahren funktioniert nur eine Sache. High / Low Zusammenhalt ist das Ausmaß, in dem diese hält.

Die Kupplung - wie interdependent verschiedene Teile des Systems sind. z, wie und wo es Abhängigkeiten. Wenn zwei Klassen Anrufe Methoden voneinander machen dann sind sie eng miteinander gekoppelt, wie Ändern würde man mit meinen die anderen zu ändern. Entkoppeln ist der Prozess, etwas zu machen, die weniger eng gekoppelt waren so oder gar nicht.

Flexible Systeme haben eine hohe Kohäsion und die lose Kopplung.

Zur Kopplung, diesem Wikipedia-Artikel sollten alle Ihre Fragen beantworten. diesem Artikel befasst sich mit Zusammenhalt zu erzielen.

"Entkoppelung" ist nur ein anderer Name für "wenig / low-Kopplung".

So diese Begriffe diese Fragen beantworten:

  • Wie viel kostet jeder Teil des Projektes auf einem anderen Teil abhängen?
  • Wenn Sie nur einen Teil Ihres Projekts nutzen wollte (wie ein bestimmtes Problem zu lösen), wie viel brauchen Sie den ganzen Rest des Projekts wissen?
  • Ist jeder Teil des Projektes auf einer einzige Lösung für ein bestimmtes Problem konzentriert oder haben Lösungen „Leck“ in anderen Teilen?

Hier sind meine Gedanken über den Zusammenhalt. Stellen Sie sich vor es ist ein Modul. Innerhalb dieses Modul haben wir einige Aufgaben. Wann werden diese Aufgaben stark miteinander verwandt sind, sagen wir es hohe Kohäsion hat. Wann werden diese Aufgaben nicht im Zusammenhang, sagen wir es geringe Kohäsion hat. Mein bester Versuch Entkopplung zu erklären ist, dass die Entkopplung ist der Akt der Kupplung zu entfernen.

Low Kopplung hilft uns, eine hohe Kohäsion erhalten! Denken Sie daran, dass wir unser Modul damit verbundene Aufgaben und eine einzige Verantwortung haben wollen. Aber was ist Kupplung? Die Kopplung ist der Grad der Abhängigkeit von anderen Modulen unsere einzige Verantwortung für das Modul zu erreichen. So durch geringe Kopplung, sagen wir, dass wir auf externe Module daher nicht sehr abhängig sind wir eine hohe Kohäsion haben.

Wenn wir jedoch viele Abhängigkeiten von externen Modulen haben, würden wir hohe Kopplung und niedrigen Zusammenhalt haben. Erhalten Sie es?

Andere mehr verziert Denker und Gruppen sagen:

Kohäsion ist der Grad, in dem die Aufgaben, die von einem einzigen Modul ausgeführt werden funktionell verwendet. „IEEE 1983“ Kohäsion ist der ‚Kleber‘, die zusammen ein Modul hält. Es kann unter den Komponentenelementen eines Moduls wie die Art der Vereinigung gedacht werden. Im Allgemeinen möchte man den höchsten Grad an Zusammenhalt möglich.“Bergland, 1981

Eine Softwarekomponente ist, die einen hohen Grad an Kohäsion zeigen, wenn die Elemente in dieser Einheit ein hohes Maß an Funktionsverwandtschafts aufweisen. Das bedeutet, dass jedes Element in der Programmeinheit sollte entscheidend sein für das Gerät seinen Zweck zu erreichen. Somerville, 1989

Entkopplung ermöglicht die Trennung von Objekt-Interaktion von Klassen und Vererbung in verschiedene Abstraktionsschichten verwendet, um polymorphe-ally entkoppeln der Einkapselung der Praxis ist die wiederverwendbaren Code einer Verwendung der Module diskrete Code zu verhindern, miteinander in Wechselwirkung zu treten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top