我即将开始开发一个应用程序(可能在 C# 中),它具有与 GNU radio 相似的机制,但目的完全不同。
GNU Radio 有一个类似于典型流程图类型编辑器/绘图工具的 GUI,但“画布”上显示的每个对象都是反应式控制流图(而不是流程图框)的一部分。
基本上,它们是黑匣子,每个都有特定的内部用途,并且每个都在需要时具有输入和输出。
为了解释的简单,假设我的范围是创建一个 GUI 画布,我可以将对象拖到上面和一个运行/停止按钮(运行“程序”)。我想在某些方面有点像编程 Scratch 儿童编程工具中的 GUI。
我最初有 3 个对象。
1)某种类型的键盘输入框,我将在其中输入一些 Base64 编码的文本。这只有一个进入对象编号 2 的输出。
2)这个对象接受输入给它(上面的编码文本)并将其转换回 UTF-8(它的唯一目的)并将其输出到对象号 3。
3) 这个对象接受输入给它的输入(来自对象编号 3)并将其输出到屏幕(在它的小盒子里)。
这些对象做什么并不重要,这只是举例。这基本上是 GNU Radio 的工作方式,除了它传递数字信号数据而不是文本。
我的问题是 GNU radio 使用什么样的编程模式(在我把它拆开之前)或者我应该通过寻找这种类型的应用程序来寻找什么样的 OOP 类型模式或想法。甚至是一些好的谷歌链接。
我已经尝试了几个小时,现在试图在谷歌上搜索一些东西,但是真的很难找到合适的词,这些词不会返回数以万计的用于销售流程图软件的广告等。
我还应该补充一点,以后可以添加新对象(黑框)。