Привіт! Дякую за ваш відгук!
Є підходи, при яких нові версії коду створюються шляхом копіювання старого, а не його зміною
Так, це правильно. Іноді добре скопіювати код, немає жодних правил, які підходять до всіх випадків. Ідея полягає в тому, щоб не повторювати код для схожих функціональностей. Іноді, для абсолютно різних функціональностей, може бути корисно скопіювати та вставити код.
Бізнесу на це чхати. Зменшення дублювання коду не призводить до зменшення витрат. Організація коду може бути й поганою, що нівелює всі переваги.
Бізнес завжди хоче, щоб все працювало належним чином, але це не означає, що кодова база повинна бути жахливою. Іноді краще мати організований код, ніж код, який просто працює.
Щодо імені класу, завжди існують кілька можливих варіантів для найменування будь-якого класу. Як ви вже зазначили, ми могли б назвати клас ServerCaller або Fetcher. Ми можемо придумати десятки інших назв, які відповідали б меті класу.
Я не вважаю, що будь-який з принципів універсально є хорошим. Фактично, не завжди добре застосовувати їх всюди. Але завжди корисно знати про них і впроваджувати, коли вони можуть бути дійсно корисними.