111: Effective Java v3 – Item #5 – Prefer Dependency Injection to Hardwiring Resources

In this mini-fragment episode, Donn talks about Item #5 of the Effective Java (Third Edition) book – Prefer Dependency Injection to Hardwiring Resources.

Please note, this episode references the third edition of the Effective Java book that recently came out. Previously we were doing the entire series on version 2, but we are now upgrading to version 3 of the book. We will not be re-doing any of the existing lessons, but if one was inserted in the mix, then we will do that lesson.

This is the case with Item #5. We did Item #5 previously for v2 of the book, but v3 introduced a new Item 5 (and bumped the previous Item 5 up to 6).

TLDR; Item #5 is new in the third edition of the Effective Java book. So listen closely. :)

Listen on:

Download directly



  • Mapbox – Android developers don’t have to settle for a default same-map-no-matter-what option in their Android app. Mapbox offers complete map design control, allowing you to create beautiful custom maps to meet the needs of your Android users.

Check them out today at mapbox.com/android


099: Effective Java – Item #17: Design and Document for Inheritance or Else Prohibit It

In this episode, Donn talks about Item #17 from the Effective Java book: Design and Document for inheritance or else prohibit it. Learn how you should be documenting your code that is built for inheritance when you should not call overridable methods and much more.

Direct Download

Show Links


094: Design Patternitis – 5 Tips to Help You

In this episode of Fragmented, Donn talks about a common problem almost all software engineers face in their career – Design Patternitis.

So, you’ve read the books on design patterns and now you’re applying them everywhere. Just because some code can be put into a pattern doesn’t mean you should. Or should you? How can you apply them when needed? Donn shares 5 tips with you that you can use to help combat Design Patternitis.


Show Notes


This episode is made possible by Kobiton – Fragmented.

They’re giving listeners a 15-day FREE trial with no credit card required! 🙌
Give them a try at Kobiton.com/fragmented and let them know we sent you.


089: Learning Kotlin – Properties a first class language feature

In this mini Fragment, KG talks about his journey learning Kotlin as a newb. Given that Kotlin is most likely going to be the de-facto language for most developers, it makes sense to deepen our understanding of the language (as we have strived with Java over the years).

“Properties” in Kotlin are a first class language feature. But what does that actually mean? What are the nifty features we get with properties? How are these resolved from a Java class when there’s potential a name clash? What are some other gotchas and learnings from using properties? Listen on to find out:

Direct download



087: Effective Java – Item #16: Favor Composition over Inheritance

In this mini-Fragment episode, Donn talks about Item #16 of the Effective Java series – Favor Composition over Inheritance. You’ll learn why using inheritance is not always a great idea and how you can use composition in place of it to make your code more anti-fragile, resilient and clean.


Show Notes