Хороший дизайн для многоязычного абонента в Python - PullRequest
0 голосов
/ 17 июня 2020

У меня есть запущенный сервер, который можно запросить, чтобы получить определенные c данные. Абонентский API реализован в Python, Java и C ++. Большинство из нас очень привыкли работать с Python, поэтому я создал python сценарии запуска для запуска подписчика Java / C ++.

Я сделал следующее: создал дескриптор API, который принимает язык аргументов. - Если указано python, я напрямую использую API подписчика Python и делаю вызов на сервер, возвращаю данные в формате json. - Если предоставляется Java / C ++, я вызываю соответствующий сценарий запуска, выгружаю данные в какой-нибудь файл. По завершении выполнения я читаю файл и возвращаю данные в формате Python.

Хотя в идеале все API подписчика должны возвращать одни и те же данные, для целей тестирования мне нужно открыть все версии.

Но выбор языка не кажется чистым способом сделать это. Каким будет изящный способ сделать это?

Один из вариантов, о котором я подумал, это то, что API-интерфейс Handle по умолчанию будет работать только с python, а для java / c ++ я создам два разных маркера JavaHandle, CPPHandle и используйте его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...