In this episode, we talk to our good friend and immutability champ Ryan Harter. We start off talking about the benefits and disadvantages of immutability, then we dive into Value types and the subtle difference with Value types. Finally we close out by talking about AutoValue and how you can extend it using the super nifty auto-value extension system for functionality like Parcelability, Json parsing etc.
Show Notes
About Ryan
Pigment (coloring for adults)Fragment (prismatic photography art) (His blog post on the same)Fragmented: Google IO special (Ryan was one of our guests)References
Martin Fowler's updated article on ValueObjectsEffective Java Fragments:Ep 14: Consider providing static factory methods instead of constructorsEp 31: Obey the general contract when overriding equalsEp 34: Always Override hashcode when overriding equalsMethods Count (check number of methods for a library)AutoValue
AutoValueAutoValue BuildersAutoValue Factory (different from AutoValue Builders)Difference between Builder and Factory patterns [stackoverflow.com]AutoValue extensions
Ryan's blog postAutoValue Parcel [github.com/rharter]AutoValue Cursor [github.com/gabrielittner]AutoValue Redacted [github.com/square]AutoValue Moshi [github.com/rharter]AutoValue Gson [github.com/rharter]AutoValue Firebase [github.com/mattlogan]Misc
Project LombokGoogle's Auto Libraries (code generating helpers)Ryan's BlogRyan's Caster.io series [caster.io]Chicago Roboto 2017Contact
@rharter [twitter.com]@fragmentedcast [twitter.com]@donnfelker and +DonnFelker@kaushikgopal and +KaushikGopalIsMe