Имеет ли смысл использовать небольшую часть зависимости? - PullRequest
2 голосов
/ 03 апреля 2019

Я использую Google Directions API, чтобы получить маршрут между двумя точками. В настоящее время я просто отправляю HTTP-запрос к конечной точке API, например:

URL url;
URLConnection request;
    try {
        url = new URL(
            "https://maps.googleapis.com/maps/api/directions/json" +
            "?origin=Alzenau" +
            "&destination=Dortmund&" +
            "key=xxxxxxxxxxxx"
        );

        request = url.openConnection();
        request.connect();

        // Convert to a JSON object
        JsonParser jp = new JsonParser();
        JsonElement root = jp.parse(new InputStreamReader((InputStream) request.getContent()));
        JsonObject rootobj = root.getAsJsonObject();

        ConvertRoutes(rootobj);
    } catch (IOException ex) {
        ex.printStackTrace();
    }

Однако есть зависимость от Google, которую я могу использовать для достижения того же: https://mvnrepository.com/artifact/com.google.maps/google-maps-services/0.9.3

Эта зависимость содержит все API Карт Google (Указания, Места и т. Д.)

Мой вопрос: имеет ли смысл использовать зависимость от Google, когда я использую лишь небольшую часть его функций? Загружает ли Java всю зависимость или только те части, которые я на самом деле использую?

Спасибо!

1 Ответ

1 голос
/ 03 апреля 2019

Это не однозначное решение «да / нет».

Если вы просто вызываете один интерфейс http и ваше приложение работает нормально (и достаточно быстро), то нет реальной причины для его изменения.

Использование Java API, вероятно, сделает ваш код меньше (и у вас будет безопасность типов), но вам нужно проверить дерево зависимостей этого API.Если он содержит зависимости, которые у вас уже есть в дереве зависимостей, вы можете столкнуться с конфликтами из-за разных версий одних и тех же артефактов.

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