I agree that micro apps aren't the focus of this conversation. While an app with 2 features might seem similar to one with 20 features structurally, the complexities of scaling grow exponentially with feature count.While YAGNI is an important principle, it must be balanced with foresight. Overengineering is indeed a drawback, but underengineering can lead to technical debt.
Choosing the right pattern is about balancing trade offs. Each pattern has pros and cons, and there’s rarely a onesize fits all solution.Domain-centric architectures like CA are increasingly relevant in modern software development due to applications’ high complexity and long lifecycles.
Traditional three layer database centric architectures focus on the database, with
the UI, business logic, and data access layer circling it. On the other hand,
domain centric architectures prioritize the domain model, treating databases and
other external elements as implementation details. This approach prioritize usability over construction material.
But anyway I don't have 20y exp in Soft development like you do, So sometimes Im just missing on something that I cannot see but you do.