Diskussion:Zirkuläre Abhängigkeit

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 13 Jahren von Doodee in Abschnitt „Zirkuläre“ vs. „zyklische“
Zur Navigation springen Zur Suche springen

Was ist eine Komponente? Was bedeuten die Pfeile? -- FriedhelmW 09:40, 11. Jan 2006 (CET)

Sollte noch etwas verallgemeinert werden, da zirkuläre Abhängigkeiten sich nicht nur auf die Informatik beschränken. --BigBen666 Fragen? 12:10, 11. Jan 2006 (CET)

Dann müsste man den Artikel strukturieren und verschiedene Bedeutungen voneinander abgrenzen. Ich kenne das Problem ganz konkret aus meiner täglichen Arbeit als Software-Entwickler. --jpp ?! 13:19, 12. Jan 2006 (CET)

Beispiel für Zirkuläre Abhängigkeit[Quelltext bearbeiten]

Um eine Aufenthaltserlaubnis zu bekommen, muss ein Ausländer einen Arbeitsplatz nachweisen. Damit er aber von einer Firma eingestellt wird, benötigt er einen gemeldeten Wohnsitz. Um aber vom Vermieter akzeptiert zu werden braucht er eine Aufenthaltserlaubnis. Damit schliest sich der Kreis. Solange die Zirkuläre Abhängigkeit nicht durchbrochen wird, wird der arme Kerl in dem Land nicht dauerhaft leben können. --Shmia 18:18, 11. Jan 2006 (CET)

Dieses Beispiel krankt ein wenig daran, dass es vorgeblich dem "wahren Leben" entspringt, was allerdings nicht stimmt: "Um eine Aufenthaltserlaubnis zu bekommen, muss ein Ausländer einen Arbeitsplatz nachweisen." - Nein, muss er nicht zwangsläufig (siehe Wikipedia: Aufenthaltserlaubnis). "Damit er aber von einer Firma eingestellt wird, benötigt er einen gemeldeten Wohnsitz." - Nein, einer Firma steht es selbstverständlich frei, eine Einstellung unabhängig von einem gemeldeten Wohnsitz vorzunehmen. "Um aber vom Vermieter akzeptiert zu werden braucht er eine Aufenthaltserlaubnis." - Nein, einem Vermieter steht es selbstverständlich frei, einen Mieter unabhängig von einer Aufenthaltserlaubnis zu akzeptieren. "Damit schließt sich der Kreis." - Im Gegenteil, er entsteht an keiner Stelle. --Benutzer:Kraschnaut 15:28, 15. Aug 2011 (CEST)

2. Beispiel[Quelltext bearbeiten]

In der Programmiersprache C gibt es Includedateien (*.h). Nun kann eine Includedatei weitere Includedateien beinhalten. Wenn Datei A.h die Datei B.h einbindet und die Datei B.h die Datei C.h einbindet ist noch alles in Ordnung. Falls nun die Datei C.h die Datei A.h einbindet, ist eine Zirkuläre Abhängigkeit entstanden. Dem Compiler ist es unmöglich dies zu kompilieren, da er im "im Kreis rennt". --Shmia 16:08, 12. Jan 2006 (CET)

Das ganze steht schon so unter Logische Äquivalenz, was mE das richtige Lemma ist. --Asthma 10:40, 12. Jan 2006 (CET)

Nein, logische Äquivalenz hat damit nichts zu tun. Bei der zirkulären Abhängigkeit geht es um konkrete Abhängigkeiten zwischen Software-Komponenten, ein Problem das einem im Rahmen von Erstellungsprozessen in der Software-Entwicklung ständig begegnet. Daher finde ich auch die momentane Kategorie „Graphentheorie“ eher unpassend. Leider bin ich mir momentan noch unsicher, in welcher Richtung man das erweitern sollte. Was haltet ihr von einem Beispiel aus der objektorientierten Programmierung mit konkreten Klassen und deren Abhängigkeiten voneinander? --jpp ?! 13:17, 12. Jan 2006 (CET)
An welche Sprache dachtest du denn? Simula? Smalltalk? Java? C++? Perl? Alle genannten? Glaube nicht dass das irgendeinen Sinn ergibt. -- FriedhelmW 15:08, 12. Jan 2006 (CET)
Jetzt beginnen wir, darüber zu rätseln, welches Thema der ursprüngliche Autor wohl beschreiben wollte. ;-) Er meint wohl kaum Zyklus (Graphentheorie), denn den gibt's ja schon. Also kann „zyklische Abhängigkeit“ nur von konkreten Themen handeln. Die bisherige Formulierung deutet darauf hin, dass zyklische Abhängigkeiten zwischen Softwarekomponenten gemeint sind. Und diese illustriert man am besten mit einem Beispiel, dann kann auch der Unverständlich-Baustein raus. Die Programmiersprache ist wurscht, aber heutzutage nimmt man wohl normalerweise Java für so etwas. --jpp ?! 15:41, 12. Jan 2006 (CET)

Ja, einigt euch mal über das eigentliche Thema des Artikels. Was jetzt im Artikel steht, ist quasi-überflüssig zum Artikel Logische Äquivalenz. Wenn da nicht demnächst bedeutend mehr kommt, stelle ich LA. --Asthma 18:06, 12. Jan 2006 (CET)

So, ich habe die Beispiele von Shmia und einige Anmerkungen aus der Diskussion in den Artikel eingearbeitet, und denke, dass der Unverständlichkeits-Baustein jetzt raus kann. Was meint ihr? --jpp ?! 10:07, 13. Jan 2006 (CET)

Was damit gemeint war.[Quelltext bearbeiten]

Erstmal bin ich froh, dass das Wikiprinzip hier so hervoragend funktioniert und ich mit der Thematik noch andere ansprechen konnte. Zur Klärung kann ich folgendes Beitragen: Ich bin Java-Entwickler und arbeite an einem sehr großen Enterprise Framework für die PKV. Ich habe dabei des öfteren mit zirkulären Abhängigkeiten einzelner Framework-Komponenten zu tun. Es geht also um die Softwareentwicklung und die Abhängikeit von Softwarekomponenten (wie aus dem Compilerbeispiel). Mir ist aufgefallen, dass ein solcher Artikel in wikipedia fehlt und habe ihn deshalb nach bestem Wissen und Gewissen erstellt. Hatte auch schwierigkeiten mit der Einordnung. Graphentheorie halte ich jedoch für völlig falsch! Jedenfalls bin ich froh nicht alleine im Wald zu stehen :) --Zettler 11:48, 17. Jan 2006 (CET)

es hat mit Graphentheorie nur indirekt zu tun. Ein Compiler baut sich ja intern eine Symboltabelle als Graph auf. Wenn in diesem Graph ein Zyklus auftritt, bedeutet das, dass kein terminales Symbol gefunden werden kann. Ein Zyklus in einem Graph IST keine Zirkuläre Abhängigkeit, sondern deutet nur darauf hin, dass das Modell, dass der Graph abbildet, eine Zirkuläre Abhängigkeit enthält. --Shmia 14:07, 17. Jan 2006 (CET)
Also meiner Ansicht nach haben wir es hier mit der Anwendung der Graphentheorie in der Softwaretechnik zu tun. Das gehoert also in Compilerbau oder Softwarearchitektur integriert und ist keine eigenstaendiges Lemma wert.
Das Konzept eines zyklischen Graphen ist in der Graphentheorie schon ausreichend beleuchtet und muss hier nicht nochmal erklaert werden. Gruss -- sparti 09:56, 19. Jan 2006 (CET)
Das ist eine ziemlich akademische Sichtweise. Die graphentheoretische Erklärung ist zwar die passende Abstraktion. Das konkrete Problem verdient meines Erachtens aber dennoch einen eigenen Artikel, eben weil es von so vielen Stümpern auf dem Gebiet der Software-Entwicklung ignoriert wird. Das Beispiel mit den Header-Dateien ist ja noch harmlos. Viel schlimmer sind wechselseitige Abhängigkeiten zwischen Klassen oder Paketen. So entstehen garantierte Wartungsruinen. Und das ist halt ein eigenständiges Phänomen. --jpp ?! 11:46, 19. Jan 2006 (CET)
Naja, aber die Gefahr ist eben, dass man nach und nach Artikel wie Zyklen im Projektmanagement, Zyklen im Hausbau, Zyklen in der Wasserversorgung bekommen. Und wer weiss wo es noch alles Zyklen gibt. Streng genommen ist die Wikipedia auch kein Lehrbuch, das Leuten erklaert, wie sie gescheit Software entwickeln. Also meinetwegen kann der Artikel bleiben, aber optimal finde ich es nicht. Viele Gruesse -- sparti 09:07, 20. Jan 2006 (CET)

„Zirkuläre“ vs. „zyklische“[Quelltext bearbeiten]

Im zweiten Satz wird plötzlich von „zyklischer“ Abhängigkeit gesprochen. Das Lemma lautet aber „Zirkuläre Abhängigkeit“. Wenn das ein Synonym ist, sollte das im ersten Satz eingeführt werden. Beachte den Unterschied zwischen Zykel, Zyklus und Zirkel. -- Doodee 20:03, 8. Okt. 2010 (CEST)Beantworten