Overview
Explore strategies for bridging the architecture-code gap in software development through a conference talk delivered at GOTO Amsterdam 2024. Dive into techniques for transferring architectural ideas and design patterns into code at various abstraction levels. Learn how frameworks and libraries in the Java ecosystem can leverage meta-information within code to support structural verification, testability, and documentation. Discover approaches to write more maintainable code that resists degradation over time, addressing issues like lack of domain boundary alignment and ineffective expression of architectural ideas. Gain insights on Separation of Concerns Architectures, including Onion, Clean, and Hexagonal Architecture, and their limitations in addressing structural domain aspects. Examine tools, explicit concepts, verification methods, and ways to eliminate boilerplate code. Conclude with an overview of Spring modulith and its applications in creating more robust software architectures.
Syllabus
Intro
Understandability
Architecturally-evident code
Tools
Explicit concepts
Verification
Eliminate boilerplate
Separation of concerns: Architectures
Spring modulith
Summary
Outro
Taught by
GOTO Conferences