问题描述
我正在考虑我正在编写的模块的 API。我有一堆命令,每个命令都有不同的参数、模式等。例如,我可以在不同的地址模式下应用命令 (UNADDRESSED,ADDRESSED,SELECTED,...
)
根据这一点,我们可能需要或不需要参数中的地址。
我想知道如何将这样的 API 公开为 Java 接口。 最后,这些命令会触发一些通过以太网连接的硬件。
目前,我有两个想法:
- 命令对象:
void doA(CommandA c)
其中CommandA
将所有参数/模式信息保存为字段。我现在必须检查doA
是否是有效的参数组合。 - 方法重载:对于每个有效参数组合,都有一个方法,例如
doA_VariantI(int param1,byte[] param2,byte[] payload,....)
和doA_VariantII(int param1,...)
方法重载可能是排除无效参数组合最安全的方法。但是我必须为每个命令创建 6-7 个重载(我想避免)。好处是所有参数都在堆栈上,而命令对象会产生大量垃圾。
我想知道是否有人可以分享一些这方面的经验。垃圾真的值得担心吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)