Внедрение адаптеров в клиент

Внедрение адаптеров в клиент
Внедрение адаптеров в клиент - south_ink @ Unsplash

Мои мысли таковы.

  1. Как только одна из конечных точек будет отличаться каким-либо образом, вы потеряете свои сбережения в плане LoC

  2. Если дать класс клиента для некоторого API, я автоматически предположу, что все методы являются конечными точками того же API. Однако если мне придется инжектировать каждый клиент ресурса... Возникает вопрос, указывают ли они все на разные API. Если я вызываю AddAddress("Glasgow"), могу ли я позже вызвать GetCity("Glasgow")?

Итак. Нет, я бы не стал вводить клиентов ресурса. Плюс! Если бы не было много ресурсов с точно таким же шаблоном конечной точки по какой-то причине, я бы имел клиентов ресурсов с жестко закодированными методами, а не использовал дженерик.

Меня беспокоит то, что, сделав этот общий (в обоих смыслах) подход, я столкнусь с различными конечными точками ресурсов или требованиями, которые не будут соответствовать шаблону, и буду склоняться к дальнейшему усложнению общего случая, чтобы справиться с ними, вместо того чтобы отказаться от него и сделать специальные случаи.

Опасность заключается в том, что в итоге получится слишком сложное решение с большим количеством LoC, чем простое решение с жестким кодированием каждой конечной точки.

Рекомендую посмотреть эти видео для лучшего погружения в вопрос:

Прикрепленное видео 1 - Teltonika Вебинар - CAN решения - варианты использования

Прикрепленное видео 2 - IP – телефония, Что это и с чего начать?


LetsCodeIt, 19 января 2023 г., 03:18