Вопрос организации архитектуры. Производительность или поддерживаемость? В процессе написания приложения меня всегда разрывает на то что бы написать красиво и поддерживаемо или эффективно и по уродски. Вопрос в том насколько медленнее становиться приложение если везде использовать абстракции что бы соблюдать SIP?
У меня в одном из приложений есть контроллер Save в котором я считываю поток из HTTP тела сообщения и передаю этот поток другому своему приложению(типо микро сервисы). Кода не много, но наверное его стоило бы разместить в отдельном объекте? Но тогда мне каждый раз при обращении клиентво к этому контроллеру, придется создавать этот объект а это ресурсы.
Что вы делаете в таких случаях?

21 Авг 2019 в 06:22
181 +1
1
Ответы
1

Этот вопрос часто возникает при разработке приложений, и ответ на него зависит от конкретной ситуации.

Если вы выбираете между производительностью и поддерживаемостью, то важно понимать, что сбалансированное сочетание обоих аспектов является оптимальным решением.

Использование абстракций для соблюдения принципов SOLID может повлиять на производительность приложения, но в то же время, это делает код более поддерживаемым и расширяемым.

При решении, стоит учитывать конкретные требования к приложению и его целевую аудиторию. Если скорость работы и производительность критически важны, то возможно стоит немного пожертвовать поддерживаемостью в пользу эффективности. Однако, если вы осуществляете длительную поддержку приложения, важно обеспечить его легкость поддержки и модификации.

Что касается вашего конкретного случая с контроллером Save, важно оценить, насколько критично каждый раз создавать новый объект при обращении клиента. Если создание объекта не является затратной операцией и не существует проблем с ресурсами, то, возможно, можно оставить код в контроллере. Однако, если создание объекта сильно замедляет производительность приложения, то может быть стоит вынести этот функционал в отдельный объект для оптимизации работы приложения.

В целом, важно адаптировать решение под конкретные потребности и цели вашего проекта, чтобы достичь оптимального баланса между производительностью и поддерживаемостью.

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