Я занимаюсь разработкой .NET API, чтобы позволить разработчикам создавать агенты RoboCup для 3D simulated soccer league.Советы по проектированию .NET API для будущего использования с F #
Я доволен тем, как API работает с кодом C#, однако я бы хотел использовать этот проект для улучшения своего умения F # (которое в настоящее время основано на чтении, а не на практике).
Поэтому я хотел бы спросить, какие вещи я должен учитывать при разработке API, который должен использоваться как C#, так и кодом F #.
Некоторые моменты.
- Я делаю довольно тяжелое использование матричной и векторной математики. В настоящее время они являются неизменяемыми классами/структурами.
- API в настоящее время определяет несколько интерфейсов с потребительскими инструментами (например:
IAgent
), используя экземпляры их реализаций (например:MyAgent
) для создания других классов API (например:new Client(myAgent)
). - API запускает события.
- API предоставляет несколько типов делегатов.
- API содержит несколько перечислений.
Я хотел бы как можно скорее опубликовать версию API и не хочу вносить в нее серьезные изменения позже, если я понимаю, что с F # работать слишком сложно. Любые советы приветствуются.
Спасибо Брайан. Некоторые полезные советы есть. Я также отдам его от F #, но по моему опыту программирования требуется довольно много внимания, чтобы разобраться в том, что действительно работает хорошо, а что нет. Я совершенно новичок в F #, поэтому вопрос. –
Да; если вы можете заручиться одним пользователем F #, чтобы попробовать его, это может помочь (или дать больше уверенности). Трудно получить какое-либо программное обеспечение (включая API) точно так же, не протестировав его, по крайней мере, с одним «целевым пользователем» программного обеспечения, чтобы получить обратную связь от использования. – Brian