Architecting your codebase
summary
Refactors a Spring PetClinic demo: removes accidental inheritance, converts shared model into three bounded contexts (visit context, vet/context and client context), uses push members down refactoring and package moves, fixes a broken component scan and enabled JPA repositories, splits ClinicService into focused services, updates controllers and tests, runs unit tests that fail after moves then pass after fixes, and encapsulates persistence behind services to improve discoverability and reduce coupling.
AI-written summary · about
chapters (11)
- 0:00Introduction to codebase refactoring
- 3:45Removing accidental complexity
- 7:10Extracting visit context
- 11:48Introducing veterinarian context
- 15:17Creating client context
- 17:43Finalizing project structure
- 19:31Rules for better architecture
- 22:57Q&A on refactoring trade-offs
- 25:48Fixing bidirectional relationships
- 27:58Converting entities to value objects
- 30:11Summary and closing remarks
related talks
45mArchitecting your codebase
23mClean Architecture? Clean Code? Refactoring? Tests? What does this change in my code?
30mHow to migrate the legacy project to Spring Boot
43mInside Spring: The Architecture Behind the Framework
42mMicroservices and Modularity or the difference between treatment and cure!
46mEnforcing Architecture in Legacy Systems
50mAnatomy of a Spring Boot App with Clean Architecture
59mDecomposition Patterns
