3

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

记录方法的优点:

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

记录方法的缺点:

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

你怎么看?

4

2 回答 2

3

这取决于您的优先事项。

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

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

归根结底,需求及其相对优先级决定了实施。

于 2010-01-05T15:17:05.213 回答
2

我没有使用过这两种方法,但它们可以为您节省一些时间。

  1. SDL MathPack - 不确定您是否需要付费
  2. Jedi Math - 看起来该项目已被放弃,但无论如何你都应该检查一下。如果您没有做任何疯狂的事情,它可能对您有用。
于 2010-01-05T15:03:00.280 回答