Data oriented Programming in Java
summary
Java uses recent language changes to turn a simple time-sheet app from object-rich stateful beans into a data-first design: records (Java 14) become immutable data carriers with compact constructors for validation, sealed classes (Java 15/16) plus exhaustible switch functions remove default branches, and pattern matching (Java 17–20) deconstructs records so switches return values and the compiler enforces completeness. Examples include reimplementing Optional as a sealed Some/None and a REST search returning exactly three record-based outcomes; the approach compiles, simplifies testing, and reduces class-hierarchy bloat.
AI-written summary · about
chapters (6)
- 0:00Introduction to talk
- 2:33Traditional OOP evolution
- 9:46Data oriented principles
- 17:50Java features supporting DOP
- 34:46Real-world code examples
- 52:57Summary and Q&A
related talks
47mData-oriented programming in Java
49mData-oriented Programming in Java
31mData Oriented Programming and Matching in Java
54mData Oriented Programming with the JDK 19
42mBetter Modeling Through Records
01h 11mModern Java: This is not your father's Java anymore
52mJava Language Futures
50mBetter Tools for Immutable Data
