В целом, именно так :) Пара десятков неудачных применений паттернов + периодическое перечитывание Gang-Of-Four дают лучший результат чем попытка с нуля сделать конфету.
Попробуйте использовать паттерн микросервисы. Он ничем не лучше и не хуже паттерна "декоратор", пока Вы не определитесь с проблемой, которую решаете (заметьте, в описаниях паттернов всегда сначала описывается проблема!), и не станет лучше, пока Вы саме не определите понятие "лучше" в данном конкретном случае.
Вот решение для второго случая:
хотелось бы сделать тоже через паттерны
Берете первый паттерн и начинаете его применять. Если получается хорошо - оставляете получившийся код и переходите ко второму паттерну. Если плохо - выбрасываете код и переходите ко второму паттерну. Названия паттернов и порядок не важны.
Еще раз. Получается, Ваша проблема в том, что Вы хотите использовать паттерны. Используйте.
Или откажитесь от этой идеи и пишите уже код.