UML -первичен( схема класов как они с друг другом взаимодействуют)[для того чтобы сразувидели весь проект. а не только тот екран кода который перед вами(мальнькая часть проекта)] своеобразный стандарт между прогармистами.
патерны -это типичныи решения в програмированиии(вторичнно).
void функция1()
{...}
cout<<функция1; //ничего не напечатает
int функция2()
{...}
cout<<функция2; //напечатает какое то целое число(int) которое возвращает функция
Рекомендую сосредотачиваться а чем то одном backend/frontend. Но в общих чертах надо знать все особенно в бекенде.
Чем больше денег тем сложней работа тем сложней устроиться тем больше порог для джуниора и наоборот.
Ищите золотую середину для себя и не забывайте про практику.
На php и напишите(curl+любая либа парсер html) если проблем с антигейтом и проксями нет).Писал такую штуку на с# ну мне 10 страниц достаточно было. -Это вам бесплатный вариант
Хотя прокси и антигейт тоже денег стоят. Так что возможно есть резон заплатить. Есть прога еще Словоёб(бесплатная) помоему то что вам нужно.
codereview.stackexchange.com или сюда закидывайте и просите указать на недостатки в коде. Много толковых людей тут который подскажут что и как и почему.
WebBrowser(но он для сложной эмуляции так сказать, для выполнения джаваскрипта и т.д. обертка над ИЕ компонентом).
Для простых вещей WebClient или HttpClient за глаза.
xNet проблем с редиректом не встречал. Там что удобно это работа с разными видами прокси.В остальном все тоже что и в WebClient или HttpClient