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