java - 复合设计模式图草图

标签 java design-patterns composite

我正在尝试为下面链接的图绘制一个复合模式图。

Plot

它是一条 2D 曲线,包含多条曲线、标题、X 和 Y 轴标签、单条曲线标签以及虚线网格。该图的一些功能包括以指定颜色绘制曲线的能力以及显示符号图例的能力。此外,应用程序应允许多个绘图,并在调整大小时自动重新标记绘图,并提供放大曲线部分的功能。

这些是我能够想到的组件:

叶子:

  • 曲线 {String curveLabel;字符串颜色; setColor()}

  • 坐标轴 {String X_Label, Y_Label;}

  • 虚线 {int x, y;}

复合 Material :

  • 绘图{字符串标题; ArrayList 绘图组件; displayLegend()、zoom()、relabelPlot()}

界面:

  • PlotInterface {voiddraw()}

这里,我有 3 个叶子和一个节点。曲线叶子将为每条曲线提供唯一的标签(例如 v3(t)),并提供设置所需颜色的方法。斧头叶 将有一个 X 轴标签和一个 Y 轴标签。 DashedLine 叶子将具有用于放置网格的 x 和 y 坐标。绘图节点将有一个标题以及一系列组件,包括绘图和叶子,以及显示图例、放大绘图以及在调整大小时重新标记绘图的方法。所有叶子和节点都实现了 PlotInterface,因此都提供了 draw() 方法的具体实现。

这就是我到目前为止所拥有的一切,但我仍在学习设计模式,所以想看看我是否正确地处理它,或者是否有更好的方法使用复合设计模式来解决这个问题。任何建议或指导将不胜感激!提前致谢。

最佳答案

我会推荐提到的设计 here 您可以有一个带有轴和虚线的基本图。您可以通过装饰此基本图来创建任意数量的图。这很容易实现并且可扩展。如果您需要帮助,请告诉我。

关于java - 复合设计模式图草图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37129371/

相关文章:

java - 如何?在 Java 中绘制自定义复合对象

java - 空对象引用上的“android.content.res.Resources android.content.Context.getResources()”。将字符串数组转换为语音

java - 无法使用 JDBC 将西里尔符号插入 MySQL

java - 安卓 fragment

c# - 从 Entity Framework 实现中抽象出 DAL

mysql - 在数据库中,如何存储可以有多种语言的文本?

java - 如何自定义 onDraw 来绘制其他组件的空间

c# - 单一窗体 Windows 窗体应用程序的设计模式

design-patterns - 我想知道命令模式和复合模式之间的关系

mysql - 约束以防止在第三个表中违反 FK 约束