gpt4 book ai didi

.net - 为将来使用 F# 设计 .NET API 的技巧

转载 作者:行者123 更新时间:2023-12-02 00:39:48 25 4
gpt4 key购买 nike

我正在设计 .NET API 以允许开发人员为 3D simulated soccer league 创建 RoboCup 代理.

我对 API 如何与 C# 代码一起工作感到非常满意,但是我想使用这个项目来提高我的 F# 技能(目前基于阅读而不是练习)。

所以我想问一下,在设计供 C# 和 F# 代码使用的 API 时,我应该考虑哪些事项。

一些要点。

  • 我大量使用矩阵和向量数学。这些是当前不可变的类/结构。
  • API 目前定义了一些与消费者实现(例如:IAgent)的接口(interface),使用它们的实现实例(例如:MyAgent)来构造其他 API 类(例如:new Client(myAgent)).
  • API 触发事件。
  • API 公开了一些委托(delegate)类型。
  • API 包括几个枚举。

我想尽快发布 API 的一个版本,如果我意识到从 F# 中使用它太难了,我不想稍后对其进行重大更改。任何建议表示赞赏。

最佳答案

最好的建议可能是尝试使用 F# 中的 API。 :)

也就是说,我觉得你的听起来不错

  • 任何优秀的 C# API 都应该是相当优秀的 F# API
  • 在边界处使用 delegates/Func/Action 时会有一点摩擦,但您无需在此进行任何更改
  • 枚举、事件、接口(interface)、类、结构都可以
  • 如果可能,请避免使用返回通常被忽略的值的 API(例如,“返回此”以便能够“链式调用”的流畅接口(interface) - 这些导致 F# 需要大量的|>ignores)

但实际上,花一个小时尝试编写库的 F# 使用者。很可能,在最坏的情况下,您可能会建议 F# 的一些辅助函数或扩展方法来平滑界面边界处的任何摩擦点,但我认为您拥有的一切都应该没问题。

关于.net - 为将来使用 F# 设计 .NET API 的技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2991327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com