您将如何在 Delphi 中创建向量类?我更愿意将所有与数学相关的东西放入 DLL 中。我应该使用记录还是实现接口的类?

记录方法的优点:

  • 快速且轻便
  • 值类型
  • 运算符重载

记录方法的缺点:

  • 实现不能隐藏在 DLL 中(没有继承,因此 DLL 接口不可能有抽象基类)
  • 记录作为类属性的问题(Class.VectorProp.X := 42)

你怎么认为?

有帮助吗?

解决方案

这取决于您的优先事项。

如果性能是重中之重,那就去查看记录。但如果实现隐藏是最重要的,那么就选择接口。

但是为什么不使用包,这样您就可以根据需要同时使用静态和动态链接。当然,如果代码要被其他语言使用,DLL是首选,DLL是更好的方法。

底线是,需求及其相对优先级决定了实施。

其他提示

我没有使用过其中任何一个,但它们可以节省您一些时间。

  1. SDL 数学包 - 不确定是否需要付费
  2. 绝地数学 - 看起来该项目已被放弃,但无论如何你应该检查一下。如果你不做任何疯狂的事情,它可能会对你有用。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top