Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 组合设计模式图草图_Java_Design Patterns_Composite - Fatal编程技术网

Java 组合设计模式图草图

Java 组合设计模式图草图,java,design-patterns,composite,Java,Design Patterns,Composite,我试图为下面链接的图绘制一个复合模式图 它是一条二维曲线,包含多条曲线、标题、X&Y轴标签、单个曲线标签和虚线栅格。绘图的某些功能将包括以指定颜色绘制曲线的能力,以及显示符号图例的能力。此外,应用程序应允许多个绘图,并在调整绘图大小时自动重新标记绘图,并提供放大曲线部分的功能 这些是我能够想到的组件: 离开: 曲线{String curveLabel;String color;setColor()} 轴{字符串X_标签,Y_标签;} 虚线{int x,y;} 复合材料: 绘图{字符串标题

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

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

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

离开:

  • 曲线{String curveLabel;String color;setColor()}

  • 轴{字符串X_标签,Y_标签;}

  • 虚线{int x,y;}

复合材料:

  • 绘图{字符串标题;ArrayList plotComponents;displayLegend(),zoom(),relabelPlot()}
接口:

  • 绘图接口{void draw()}
这里,我有三片叶子和一个节点。曲线叶将为每条曲线(例如v3(t))设置一个唯一的标签,并使用一种设置所需颜色的方法。斧叶 将有一个X轴标签和一个Y轴标签。虚线叶将具有用于放置栅格的x和y坐标。“绘图”节点将有一个标题以及一组组件,包括绘图和树叶,以及显示图例、放大绘图和调整大小时重新标记绘图的方法。所有叶子和节点都实现了PlotInterface,因此都提供了draw()方法的具体实现


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

我会推荐上面提到的设计
您可以有一个基本图形,其中包含轴和虚线。通过装饰此基础图,可以创建任意数量的图。这是易于实现和扩展的。如果您需要帮助,请告诉我。

我建议您使用上述设计
您可以有一个基本图形,其中包含轴和虚线。通过装饰此基础图,可以创建任意数量的图。这是易于实现和扩展的。如果您需要帮助,请告诉我。

为什么要将轴和虚线作为叶子的一部分?这些在任何情况下都是恒定的。相反,试着用decorator解决这个问题。你可以将轴和虚线作为基本对象,然后用图形装饰它。我可能错了,但我觉得虚线和轴是给定绘图的原子组件,这就是为什么我将它们列为树叶(绘图由曲线、x&y轴和网格线组成)。我刚开始学习设计模式,还没有学会装饰模式,所以我还不知道它是如何工作的,但我会看看它。我仍在学习复合设计模式,并正在解决一个文本中的问题,该文本要求使用复合设计来处理该模式。为什么要将轴和虚线作为leaf的一部分?这些在任何情况下都是恒定的。相反,试着用decorator解决这个问题。你可以将轴和虚线作为基本对象,然后用图形装饰它。我可能错了,但我觉得虚线和轴是给定绘图的原子组件,这就是为什么我将它们列为树叶(绘图由曲线、x&y轴和网格线组成)。我刚开始学习设计模式,还没有学会装饰模式,所以我还不知道它是如何工作的,但我会看看它。我仍然在学习复合设计模式,并且正在解决一个文本中的问题,该文本要求使用复合设计来解决这个问题。感谢链接!真的很有帮助。实际上非常简单和直观。谢谢你的链接!真的很有帮助。其实很简单,很直观。