我想实现一个节点接口,基本上是一个DAG,其中每个节点对其输入连接执行操作,并输出一些东西(你可以连接到另一个节点)
一些示例应用程序:
作为第一个目标,我想要一个只有 2 个节点的图形应用程序。一个“数字”,它简单地输出一个固定的数字,一个“加”节点,它接受两个输入并输出两者的总和。
正如人们到目前为止所回答的那样,我对如何在代码中表示数据有一个粗略的想法,例如在 Python 的伪代码中:
class Number:
def __init__(self, value):
self.value = value
def eval(self):
return self.value
class Add:
def __init__(self, input1, input2):
self.input1 = input1
self.input2 = input2
def eval(self):
return self.input1.eval() + self.input2.eval()
a = Number(20)
b = Number(72)
adder = Add(a, b)
print adder.eval()
我将如何围绕此包装自定义 GUI?像下面这样的东西,但手绘略少!
我从哪里开始?我目前计划用 Objective-C/Cocoa 编写它,尽管我非常愿意接受其他语言的建议。