Hard to change code bases often suffer from two primary problems: a lack of alignment with domain boundaries and failure to effectively express architectural ideas in code. To address that critical issue, developers have turned to Separation of Concerns Architectures, such as Onion-, Clean and Hexagonal Architecture. However, these approaches typically yield mixed results, as they primarily focus on separating technical and business code, without addressing the structural aspects of the domain.
This presentation explores strategies for transferring architectural ideas and design pattern languages into code at various levels of abstraction. We will discuss how different frameworks and libraries in the Java ecosystem can aid in this process, leveraging the presence of meta-information within the code to support critical aspects such as structural verification, testability, and documentation. By employing these approaches and tools, developers can write more maintainable code that is less susceptible to degradation over time.
Version:
- Software Architecture Alliance (Keynote, current) - https://static.odrotbohm.de/slides/2024/10/bottom-up-architecture-saa.pdf
- Java Forum Nord – https://static.odrotbohm.de/slides/2024/09/bottom-up-architecture-jfn.pdf
- GOTO Amsterdam 2024 – https://static.odrotbohm.de/slides/2024/06/bottom-up-architecture-goto-ams.pdf