Fragmented
014: Effective Java for Android developers : Item 1
We've mentioned the book "Effective Java" by Joshua Bloch quite a few times on previous episodes. At this point, everyone knows they should have read this book (quadruple times). But it's a dense read and everyone could use a reading buddy. Also, what does Effective Java look like through the eyes of an Android developer?
In this second installment of our Fragment (a.k.a mini-episode), we thought we'll do our listeners a favor and help with that reading. We introduce the very first of these venerable "Items": Consider providing static factory methods instead of constructors.
Stay tuned for more items from our "Effective Java for Android developers" Fragment series.
Show Notes:
Consider providing static factory methods instead of constructors
- 
static factory method 
makeTextfor Toast class [androidxref.com] - ObjectAnimator [androidxref.com]:
 
Advantages:
- You can control the name and thus give it much more meaningful names
 - You are not required to create a "new" object each time they are invoked
 - You can even return an object that's a subtype of the return type (unlike constructors which only return class type)
 - e.g. Java Collections framework [grepcode.com]
 
Disadvantages:
- Classes without public or protected constructors cannot be subclassed
 - Static factory methods are not readily distinguishable from other static methods
 
Takeaways
- "Consider" using static factory methods (not always)
 - Use  
newInstancewhen creating Fragments [androiddesignpatterns.com] - Use 
newIntentstatic factory method for creating intents inside the target activity. 
Contact us:
- @fragmentedcast [twitter.com]
 - @donnfelker [twitter.com]
 - @kaushikgopal [twitter.com]
 
Fragmented