Какой дизайн подход, чтобы уменьшить дублирование кода - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь написать код для вызова внешних служб с использованием jttpurlconnection и заметил, что код дублируется, но сейчас я не совсем понимаю, дублировать ли код или использовать множество блоков if-else и записывать все в одном месте.

Ниже приведены сценарии или типы служб, которые необходимо вызывать: 1. Служба Rest Post / Put / Get Rest с базовой аутентификацией по протоколу HTTP 2. Служба Post / Put / Get Rest с базовой аутентификацией по протоколу Https 3. Post / Put/ get сервисы с разными опциями аутентификации oauth, здесь требуется еще один вызов для получения токена.4. Мыльные службы с другим методом аутентификации.

Логика обработки ответов также различается для разных типов услуг.

На данный момент я написал отдельные методы для каждого из них, но это не такмногоразового использования, поскольку оно тесно связано с типом обслуживания.

Может кто-нибудь предложить лучший подход к дизайну для этого?

1 Ответ

0 голосов
/ 20 февраля 2019

Вы можете абстрагировать итерацию с помощью API в отдельный сервис или сервисы.Например, TaskApi с getTasks(), sendTask(Task task) и т. Д.Посмотрите на библиотеку Retrofit , она намного удобнее, чем использование HttpURLConnection, и помогает легко решать проблемы аутентификации.

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