Asking, Telling and Modularity: Choices in Code
summary
Live-coding in Eclipse refactors a monolithic Java mailing-list server that uses Vector and the JavaMail API into clear components by extracting methods and moving toward a message-passing pipeline. The code becomes MailFetcher → MailProcessor → MailSender with a timer driving asynchronous, unidirectional flows; claim is that choosing tell (void/notify) over ask (return values) reduces coupling, simplifies error paths, and the extraction via IDE refactorings proves the approach practical.
AI-written summary · about
chapters (12)
- 0:00Start
- 0:47Eclipse and Java
- 13:19Mail Sender
- 14:48Separation of Responsibilities
- 19:16Alan Kay
- 26:53Error Handling
- 31:42How Do You See the Future of Oob or Object Oriented Programming
- 37:31What's Your Take on Managing States and Side-Effects
- 38:08Have You Ever Got Rid of Old Getters and Setters in any of Your Projects
- 38:43Why Do People Have a Hard Time with the Mixed Paradigm of Object Orientation and Functional Programming
- 41:38How Do You Solve Communication between Back-End and Ui without Asking
- 42:17Would You Refactor Your Way to the Design You Sketched or Would You Rewrite the Code in Ruby as You Began Doing
related talks
47mExpressing Design in Code: Architecturally-Evident Coding Patterns
02h 42mClean Code: The Next Chapter
57mThe Art Of Clean Code
39mCoding with dinosaurs
52mMonoliths to Modular: Navigating the Transition
52mModern Java in Action
01h 02mUnderstanding the Differences Between Modularity and Granularity
33mFrom Enterprise Architecture to Software Design - Critical Thinking
