Java 命令对象与方法

问题描述

我正在考虑我正在编写的模块的 API。我有一堆命令,每个命令都有不同的参数、模式等。例如,我可以在不同的地址模式下应用命令 (UNADDRESSED,ADDRESSED,SELECTED,...) 根据这一点,我们可能需要或不需要参数中的地址。

我想知道如何将这样的 API 公开为 Java 接口。 最后,这些命令会触发一些通过以太网连接的硬件。

目前,我有两个想法:

  1. 命令对象:void doA(CommandA c) 其中 CommandA 将所有参数/模式信息保存为字段。我现在必须检查 doA 是否是有效的参数组合。
  2. 方法重载:对于每个有效参数组合,都有一个方法,例如doA_VariantI(int param1,byte[] param2,byte[] payload,....)doA_VariantII(int param1,...)

方法重载可能是排除无效参数组合最安全的方法。但是我必须为每个命令创建 6-7 个重载(我想避免)。好处是所有参数都在堆栈上,而命令对象会产生大量垃圾

我想知道是否有人可以分享一些这方面的经验。垃圾真的值得担心吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...