Ich lerne viel über Designmuster, wenn ich ein eigenes System für meine Projekte erstelle. Und ich möchte Sie zu einer Designfrage fragen, auf die ich keine Antwort finden kann.Zwei Objekte mit Abhängigkeiten füreinander. Ist das schlecht?
Derzeit baue ich einen kleinen Chat-Server-Sockets verwenden, mit mehreren Clients. Im Moment habe ich drei Klassen:
- Person-Klasse, die Informationen wie Nick, Alter und einem Raum-Objekt enthält.
- Zimmer-Klasse, die Informationen wie Raumname, Thema und eine Liste von Personen zur Zeit in diesem Raum hält.
- Hotels-Klasse, das eine Liste von Personen und eine Liste der Zimmer auf dem Server.
ich ein Diagramm habe es zu verdeutlichen:
ich eine Liste von Personen, die auf dem Server der Hotel-Klasse, weil es schön wäre, um zu verfolgen, wie viele es gleich online ist jetzt (ohne durch alle Räume iterieren zu müssen). Die Personen leben in der Hotelklasse, weil ich gerne nach einer bestimmten Person suchen würde, ohne die Zimmer zu durchsuchen.
Ist das schlechte Design? Gibt es einen anderen Weg, es zu erreichen?
Danke.
Ich sehe "gegenseitige Abhängigkeit" ist das Wort, das ich suchte. Für den Rekord schreibe ich das in Java. Der Interface-Ansatz scheint interessant zu sein, macht aber die Lösung nicht viel unterschiedlicher, aber ich verstehe Ihren Standpunkt. Danke für deinen Kommentar. –
@Kasper, Punkt ist, gibt es kein wirkliches Problem mit Abhängigkeiten von _interfaces_ mit (einschließlich dem gegenseitigen ist) - es ist vor allem Abhängigkeiten von _concrete_ Software, die Sie wirklich vermeiden wollen (zum Beispiel im Fall von „Loops“). Die Freiheit, mit einer schnellen und schmutzigen Implementierung zu beginnen und später zu einem solideren zu wechseln, beschleunigt auch die Entwicklung und Wartung von Software-Prototypen und -Iterationen. –