Overview
Explore a comprehensive conference talk from Spring I/O 2019 that delves into the concepts of Clean Architecture and Hexagonal Architecture, and their practical implementation using Java and Spring. Learn how to structure applications for flexibility and maintainability, addressing crucial aspects such as input validation, domain logic access, and communication between bounded contexts. Discover the reasoning behind these architectural paradigms and their translation into actual code through an example web application. Gain insights into organizing application layers, implementing use cases, applying SOLID principles, and leveraging Domain-Driven Design concepts. The presentation covers topics ranging from Layered Architecture and Database Driven Design to Package Structure and specific code examples, providing a thorough understanding of how to build robust and maintainable software systems using Spring.
Syllabus
Intro
About me
Layered Architecture
Why bother with Architecture
Goals of Architecture
Making the software work
Quality attributes
Lifetime cost
Layer Restrictions
Database Driven Design
Service Layer
Layers
Use Cases
Cure
Solid Principles
Clean Architecture ID
Single Responsibility
DomainDriven Design
Single Responsibility in Layers
Service Use Cases
Hexagon Architecture
Triangle Architecture
Package Structure
Code Examples
Register Book
Register Book Service
Business Logic
Book
Summary
Taught by
Spring I/O