Планирование и преждевременная оптимизация или переделывание потом? Возможно, нижеприведённая ситуация не связана с отсутствием преждевременной оптимизации.
Есть web-приложение, клиентская часть которого посылает асинхронные HTTP GET и POST запросы в фоновом режиме на сервер, для получения каких-либо данных. Предположим, что эти HTTP запросы посылаются функциями http.get и http.post. Мест в коде, которые требуют получить данные по HTTP, на клиенте множество. К примеру: getAccounts, getStatistics, getUsers и т.д. Для каждого HTTP делается функция:function getAccounts() {
return http.get("SERVER-URL/get-accounts") // ......запрос на сервер
}
И оказалось, что таких функций очень много. И вдруг, в ходе разработки приложения, появилась необходимость, чтобы в каждогом HTTP-запросе от клиента к серверу, отправлялась служебная информация. Получается, если изначально не выделять абстрактный метод по отправке запросов, придётся во всё множество функций, работающих с HTTP, вставлять код, отправляющий служебные данные?function getAccounts() {
return http.get("SERVER-URL/get-accounts?special=1") // ......запрос на сервер
}
Когда нужно вводить абстрактные методы?

21 Авг 2019 в 06:26
234 +1
0
Ответы
1

Абстрактные методы следует вводить в тех случаях, когда у вас есть повторяющийся код, который можно вынести в отдельную функцию или класс для упрощения работы с ним. В данной ситуации, если у вас много функций, которые отправляют HTTP-запросы и вам нужно добавить служебную информацию ко всем запросам, то было бы целесообразно выделить общий абстрактный метод для отправки запроса, который бы автоматически добавлял эту информацию.

Например, вы можете создать функцию sendRequest(url, data), которая будет добавлять служебную информацию к запросу перед отправкой. Таким образом, вместо изменения каждой функции getAccounts, getStatistics, getUsers и т.д., вам нужно будет изменить только одну функцию sendRequest.

Введение абстрактных методов поможет упростить код, сделать его более понятным и поддерживаемым в будущем. Однако, важно помнить о балансе между излишней оптимизацией и рациональным применением абстракций в коде.

20 Апр в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир