У меня к «паттернам» и «архитектуре» особое отношение. Может из-за того, что я постарел, очень не люблю эту суету вокруг этих двух понятий. Особенно когда лепят архитектуру, ради архитектуры, паттерн ради паттерна.
Мне кажется с опытом приходит понимание как надо сделать, чтобы код было легко: использовать (это включает в себя чтение, отладку, исправление), расширять и тестировать. Всё. Три кита хорошего кода.
В книгах пишут, мол, паттерны это еще и словарь общения программистов. Но такой херни вроде: сделай «мост», напиши тут «прокси» я хотел бы избежать в моих командах, если такие диалоги случаются — что-то не так, кто-то слишком недавно эти книги прочитал. Зуд новичка.