私は、開発者が3D でシミュレートされたサッカー リーグ用の RoboCup エージェントを作成できるようにする .NET API を設計中です。
API が C# コードでどのように機能するかにはかなり満足していますが、このプロジェクトを使用して F# スキルを向上させたいと考えています (現在は練習ではなく読書に基づいています)。
そこで、C# と F# の両方のコードで使用される API を設計する際に、どのようなことを考慮する必要があるかをお聞きしたいと思います。
いくつかのポイント。
- 私は行列演算とベクトル演算をかなり多用しています。これらは現在不変のクラス/構造体です。
- API は現在、消費者の実装 (例: ) とのいくつかのインターフェースを定義し、
IAgent
それらの実装のインスタンス (例: ) を使用してMyAgent
他の API クラス (例: ) を構築しますnew Client(myAgent)
。 - API がイベントを発生させます。
- API は、いくつかのデリゲート タイプを公開します。
- API にはいくつかの列挙型が含まれています。
API のバージョンをできるだけ早くリリースしたいと考えており、F# から操作するのが難しすぎることに気付いたとしても、後で大きな変更を加えたくありません。アドバイスをいただければ幸いです。