gpt4 book ai didi

c++ - 如何设计CAD软件包的结构?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:44:42 24 4
gpt4 key购买 nike

我正在用C++开发用于打印电路板和原理图的计算机辅助设计软件包(又名EDA CAD)。它使用Lua进行某些特定的操作,但是我想扩展Lua的角色,以便它实现许多用户界面逻辑。

我想以某种方式重建内部结构,使人们可以通过编辑Lua轻松更改用户界面的行为,并添加全新的功能。

问题是,除了没有向Lua代码公开某种大规模的API之外,我想不出一种实现此目的的好方法。我怀疑一个庞大的API,对我能想到的所有功能进行函数调用,可能是一个糟糕的设计。我该如何设计一个系统,让用户实现我什至没有想到的功能?

是否有我可以阅读的优质文档或书籍,或者是人们谈论这种事情的论坛。我已经进行了几个月的搜索和思考,但是我仍然不确定答案是什么。

顺便说一句,该项目称为LiquidPCB

非常感谢

雨果

最佳答案

显然,您将需要通过API向lua公开一些功能,以便开发人员可以组合和组合这些功能。

我偶然遇到了这个好的presentation,以了解如何正确设计API以及所包含的建议与我过去所做的事情相符。这将帮助您指导设计。

拥有API后,建议您在lua或C++中使用command pattern与UI创建桥接。过去,我将每个API调用封装在Command中,然后可以通过脚本调用该命令。我不知道lua,但我知道Python是一种可与您的命令配合使用的好脚本语言。

祝您的项目好运。

关于c++ - 如何设计CAD软件包的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/501445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com