Я нахожусь в процессе разработки .NET API, чтобы позволить разработчикам создавать агентов RoboCup для 3D-футбольной лиги .
Я очень доволен тем, как API работает с кодом C #, однако я хотел бы использовать этот проект для улучшения моего навыка F # (который в настоящее время основан на чтении, а не на практике).
Итак, я хотел бы спросить, какие вещи я должен учитывать при разработке API, который должен использоваться и кодом C #, и F #.
Некоторые баллы.
- Я довольно интенсивно использую матрицу и векторную математику. В настоящее время это неизменяемые классы / структуры.
- API в настоящее время определяет несколько интерфейсов с пользовательскими реализациями (например:
IAgent
), используя экземпляры их реализаций (например: MyAgent
) для создания других классов API (например: new Client(myAgent)
).
- API запускает события.
- API предоставляет несколько типов делегатов.
- API включает несколько перечислений.
Я бы хотел выпустить версию API как можно скорее, и не хочу вносить в нее серьезные изменения позже, если пойму, что с F # слишком сложно работать. Любой совет приветствуется.