Lego Mindstorms やGoogle プロジェクトの Blockly のように、コード ブロック エディターとして機能するアプリケーションを設計する必要があるプロジェクトを開始しました。
このようなアプリケーションをJavaで設計するための可能なアプローチは何ですか?
より具体的には、ブロック A が 1 つあると仮定すると、それに接続できる他のブロックをどのように定義できますか? 私が考えているのは、サブクラスを使用して階層をチェックすることです。または、別の可能な解決策は、接続が有効であることを確認するある種の 2D テーブルである可能性があります (ただし、大きくなりすぎる可能性があります)。
ps: これが SO の質問の範囲内であることを願っています。そうでない場合は、正しい方向に向けてください。