Architecture & ArchUnit
summary
Defines a concrete workflow: identify constraints, architecturally significant requirements, quality attributes, risks and other drivers; run ArchUnit runs as JUnit tests to encode rules like “classes in ..service may only depend on ..service or ..controller”; the library is a Java fluent API that fails the build when structure deviates so it prevents architectural erosion; use architectural katas to practise, add tests incrementally (don’t overtest every method) and pair with fitness functions for evolutionary architecture to verify scalability and other drivers.
AI-written summary · about
chapters (14)
- 0:00Introduction and speaker background
- 1:32Definition of good software architecture
- 2:55Traps in software architecture design
- 4:20Architecture katas for practice
- 5:23Starting architecture without a mentor
- 8:30Identifying architecture gate posts
- 9:56Balancing budget and architecture
- 11:23Evolutionary architecture and fitness functions
- 12:48Introduction to ArchUnit
- 13:52ArchUnit and test-driven development
- 15:58ArchUnit for domain-driven concepts
- 18:05ArchUnit in the testing pyramid
- 19:28Risks of over-architecting with tests
- 21:10Conclusion and resources
related talks
52mArchUnit - Unit Testing Architecture and Design
42mArchitecture testing with ArchUnit: Implementation for DDD
45mUnit Test Your Java Architecture With ArchUnit
24mUnit Testing Your Architecture
49mArchUnit: Guarding the Logic of Your Application
43mUnit Test Your Java Architecture With ArchUnit
46mEnforcing Architecture in Legacy Systems
01h 34mThe Intersection of Architecture and Implementation
