2009-03-16 11 views

Antwort

0

Wenn Sie es vermeiden können, sollten Sie wahrscheinlich. Sonst könnte es später zu Problemen mit zirkulären Abhängigkeiten kommen.

Müssen sie wirklich voneinander wissen, oder könnten Sie ein drittes "Kontroll" -Konzept haben, das auf die beiden verweist?

11

Als allgemeine Regel ist es schlecht, dass die Klasse "logic" Kenntnisse über die Klasse "gui" besitzt. Die Idee hinter der Trennung ist das Model/View-Designmuster (oder Model/View/Controller). Die Ansicht benötigt einen Verweis auf das Modell. Schauen Sie sich genau an, warum das Modell einen Verweis auf die Ansicht benötigt. Wenn das Modell Informationen an das Ansichtsereignis senden muss, werden normalerweise Listener verwendet (siehe javax.swing-Tabelle und Listenmodelle für ein Beispiel).

5

Es sollte vermieden werden. In Ihrer GUI können Sie einen Verweis auf Ihre Domänenlogik haben, aber Sie sollten keinen Verweis auf Ihre GUI in Ihrer Domänenlogik haben.

Warum? Da sonst haben Sie keinen Vorteil der GUI & Domain-Logik in separaten Dateien aufteilen. Wenn Ihre Logik eine Abhängigkeit von Ihrer GUI hat, können Sie Ihre Logik nicht mit einer anderen GUI verwenden.

Also, Sie sollten versuchen, diese Abhängigkeit von Ihrer Logik zu Ihrem GUI zu vermeiden, oder Sie sollten Abstraktion davon machen.

Ich hoffe ich mache mich hier klar. :)

0

Die GUI muss wahrscheinlich eine Art Schnittstelle zur Logikklasse verfügbar machen, damit die GUI aktualisiert wird, wenn die Logikklasse etwas ändert.

Die Logik sollte keine direkte Kenntnis der GUI-Implementierung haben, nur ihre Schnittstelle.

Die Observer Pattern wird manchmal dafür verwendet.