Ich versuche, ein zusammengesetztes Muster Diagramm für die Grafik verlinken unten zu skizzieren.Composite Design Pattern Diagramm Skizze
Es ist eine 2D-Kurve, die mehrere Kurven enthält, einen Titel, Etiketten für X & Y, Etiketten für die einzelnen Kurven Achsen und einer gestrichelten Linienraster. Einige Merkmale des Plots beinhalten die Fähigkeit, die Kurven in bestimmten Farben zu zeichnen und auch eine Legende von Symbolen anzuzeigen. Außerdem sollte die Anwendung mehrere Plots zulassen und das Plot automatisch umbenennen, wenn es in der Größe geändert wird und eine Möglichkeit zum Zoomen in Teile der Kurve bietet.
Dies sind die Komponenten ich in der Lage war, um mit:
Blätter:
Curve {String curveLabel; Stringfarbe; setColor()}
Achsen {String X_Label, Y_LABEL;}
DashedLine {int x, y;}
Composites:
- Plot {String title; ArrayList plotComponents; displayLegend(), Zoom(), relabelPlot()}
Schnittstelle:
- PlotInterface {void draw()}
Hier, ich habe 3 Blätter und einen Knoten. Das Kurvenblatt wird eine eindeutige Markierung für jede Kurve (z. B. v3 (t)) mit einer Methode zum Einstellen der gewünschten Farbe haben. Das Achsenblatt hat ein X-Achsen-Etikett und ein Y-Achsen-Etikett. Das gestrichelte Linienblatt hat x- und y-Koordinaten für die Platzierung des Gitters. Der Plot-Knoten enthält einen Titel mit einer Sammlung von Komponenten einschließlich Plots und Blätter sowie Methoden zum Anzeigen einer Legende, zoomen in das Plot und benennen das Plot bei der Größenänderung um. Alle Blätter und der Knoten implementieren das PlotInterface und bieten daher alle konkrete Implementierungen der draw() - Methode.
Das ist alles, was ich bisher habe, aber ich lerne immer noch Designmuster, also wollte ich sehen, ob ich mich ihm richtig annähere oder ob es eine bessere Methode gibt, das Design zu verwenden. Irgendwelche Vorschläge oder Anleitung werden sehr geschätzt! Danke im Voraus.
Warum wollen Sie Achse und gestrichelte Linien Teil des Blattes? Diese werden in jedem Fall konstant sein. Versuchen Sie stattdessen, dieses Problem mit ** Decorator ** zu lösen. Sie können Achsen und gestrichelte Linien als Basisobjekt haben und sie dann mit Graphen dekorieren. – Ubercool
Ich könnte falsch liegen, aber ich fühlte, dass die gestrichelten Linien und Achsen atomare Komponenten eines gegebenen Diagramms sind, weshalb ich sie als Blätter aufgelistet habe (ein Diagramm besteht aus Kurven, x- und y-Achsen und Gitterlinien).Ich habe gerade mit dem Lernen von Designmustern begonnen und bin noch nicht im Dekoratormuster angelangt, weiß also nicht wirklich, wie das funktioniert, aber ich werde es mir ansehen. Ich lerne immer noch Composite Design Pattern und löse eine Frage in einem Text, der verlangt, dass man es mit Composite Design anspricht. – Jikes