Data Boundaries Are the Root Cause of Maintenance Problems

Many designs and patterns old and new, like the Layered ArchitectureClean ArchitectureHexagonal Architecture, DCI, and others introduce data-oriented boundaries inside the application.

Data-oriented boundaries are interfaces between architectural parts that primarily consist of data in the form of "properties" that can be freely accessed either directly, through getter methods, reflection, or some other technical means.

Reevaluating the Layered Architecture

The Layered Architecture (3-tiered, n-tier or multi-tier architecture) is one of the most known and used concepts in enterprise development. It is the de-facto standard for building applications; so much that it would be hard to find a single application in the enterprise software realm that does not conform to it.

Many things changed, however, since the inception of this architecture pattern; there are new ways to organize code and new ways to organize teams and operate software.