Implementação de classe vector em Delphi?
-
18-09-2019 - |
Pergunta
Como você iria sobre a criação de uma classe vector em Delphi? Eu preferiria colocar todo o material relacionado matemática em uma DLL. Devo usar um registro ou uma classe que implementa uma interface?
Pros de abordagem registro:
- rápido e leve
- Tipo de valor
- Operador de sobrecarga
contras de abordagem registro:
- Implementação não pode ser escondido em DLL (sem herança, classe base de forma que nenhum abstrata para a DLL de interface possível)
- Problemas com registros como propriedades de aulas (
Class.VectorProp.X := 42
)
O que você acha?
Solução
Tudo depende das suas prioridades.
Se o desempenho é uma prioridade, vá para registros. Mas se a implementação esconderijo é superior, vá para interfaces.
Mas por que não usar um pacote para que possa tanto estática uso e ligação dinâmica se você quiser. Claro, uma DLL é preferido se o código é para ser usado por outras línguas, uma DLL é um aproach melhor.
linha de Botom, os requisitos e sua prioridade relativa determinar a implementação.
Outras dicas
Eu não usei qualquer um destes, mas eles poderiam poupar algum tempo.
- SDL MathPack - não sei se você teria que pagar por isso
- Jedi matemática - parece que o projeto foi abandonado, mas você deve verificá-la de qualquer maneira. Se o seu não fazer nada louco provavelmente vai funcionar para você.