Да и нормальное изменение API по-хорошему проводится не сразу, а, скажем, версия 1 имела одно, версия 2 имеет новые и старые вещи, версия 3 выпиливает старые вещи (если частота релизов невысока, в противном случае чиселок версий будет больше)
Моя позиция такая: польза контракта - в стабильности. Если контракт меняется на каждый несущественный чих - это плохая абстракция. Обеспечить стабильность для REST API видится мне как задача гораздо тяжелее, чем обеспечить стабильность маленького сегрегированного бизнес-ориентированного интерфейса.
> не создает глобальных проблем при разработке приложений
Да как не создает, когда создает. Сервис, зашитый на сервис - это прямое нарушение DIP - конкретика завязанная на конкретику. Со всеми вытекающими - муторно менять, муторно рефакторить, муторно держать сложность в узде, муторно тестить, муторно читать. Сплошь и рядом такое вижу, никогда не видел чтоб проложение с инжекциями на аннотациях были норм
Кстати, я бы вот не сказал что тот веб-сервис Бугаенко из композиций внезапно офигенно лёгок для чтения/рефакторинга/изменения
И касательно DI - немного магии всегда не помешает. Я уверен что никто досконально не изучает устройство современного ДВС, чтобы ездить на авто, оставляя для себя этот небольшой кусочек "магии", который просто работает.
И касательно DI - немного магии всегда не помешает. Я уверен что никто досконально не изучает устройство современного ДВС, чтобы ездить на авто, оставляя для себя этот небольшой кусочек "магии", который просто работает.
Про магию впринципе спорить не буду, просто не каждая магия - белая. Я например не стесняюсь пользоваться код- и байткод-генерацией. Про Авто и ДВС не хочу рассуждать. Это нас никуда не заведет.