Domain-Driven Design & TYPO3: The missing pieces
summary
Five concrete pain points in TYPO3 Extbase setups and clear fixes: Extbase gets treated as DDD-for-everything which wastes complexity; getters/setters are an anti-pattern—move business rules into models or domain services; Extbase “value objects” act like entities so value objects must be immutable and stored inline; property mapping writes inconsistent entities so use DTOs/form objects and explicit domain methods; and large tables mix responsibilities—split models into bounded contexts. Examples reference Extbase/Flow, TYPO3 core tables (pages, tt_content) and FAL image helper; changes are small and immediately practical.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 2:40What is DDD
- 7:08Why DDD
- 8:38DDD in TYPO3
- 10:07DDD in Xspace
- 12:06Problems with DDD
- 13:22Problems with Xbase
- 15:13Getters and setters
- 19:09Objects
- 21:49Identity
- 23:18Object in Database
- 25:32AntiPatterns
- 26:53Workspaces
- 28:22File references
- 30:42Advanced logic magic
- 31:31Inconsistent state
- 32:21Validation
- 32:56Data Transfer Objects
- 35:04Entity State
- 39:14Two examples
- 40:59Bounded context
- 42:19The second problem
- 44:19Conclusion
related talks
55mDomain-Driven Design: back to the roots
42mHigh-Speed DDD (revisited)
59mDomain-Driven Design - Where Rubber Meets the Road
35mTrivialization of DDD or Not?
39mLessons Learned from 10+ Years with Domain Driven Design
38mWhat I talk about when I talk about Domain Driven design
45mDon't Overdose on Domain-Driven Design
39mSimply About the Complex — Domain Driven Design
