【发布时间】:2014-05-28 19:22:56
【问题描述】:
我试图弄清楚如何将设计模式应用于现有对象以绘制对象的不同方法。
我知道如何在 Java 中“绘图”。我已经定义了我的对象。我不想做的是:
myObject.plotMethodA(xMin, xMax)
myObject.plotMethodB(xMin, xMax)
我希望有办法:
plotMethod(myObject.MethodA, xMin, xMax)
plotMethod(myObject.MethodB, xMin, xMax)
这种心态看起来就像传递一个指向函数的指针。在 Java 中有很多人反对这样做。必须有一种更优雅的方式来处理这个问题,但我不太明白如何将它映射到现有的设计模式。答案是:
plotMethod(myObject, "Method A", xMin, xMax)
这就像向绘图对象发出“命令”并将对象交给他们。然后我的绘图对象与定义的接口一起使用,该接口与代表 myObject 实例的类一起操作。它必须花一点时间找出字符串“command”,否则可以选择适当的方法来绘制。
有没有更好的方法?谢谢!
【问题讨论】:
-
我不知道“情节”是什么意思。你应该解释一下这是什么意思。
-
使用术语情节作为文字或抽象。我的意思是 myObject 有一系列方法。这些方法是简单的功能:例如我的对象.MethodA(x) = x^2; myObject.MethodB(x) = x + 2。我希望在屏幕上绘制它。因此,我试图了解一种设计模式和 Java 实现,这将使我能够绘制 myObject 拥有的多种方法之一。