How to Design a Good API
Excellent advice from Joshua Bloch. I particularly liked his mention of SPIs and the line "When in doubt, leave it out; You can always add, but never remove".
I reckon you could refactor this presentation and end up with Matthias Felleisen's Functional Objects keynote from ECOOP 2004 (where Felleisen was very complementary about Bloch's Effective Java book). Bloch's slides on the performance implications of returning mutable objects, and on "Minimize Accessibility of Everything" and "Minimize Mutability", speak directly to the functional paradigm.
Other points have a functional edge too, such as subclasses not relying on superclasses' implementations (inc. their state), and generalising search methods for data structures to return whole List objects rather than stateful pointers into the structures.
I reckon you could refactor this presentation and end up with Matthias Felleisen's Functional Objects keynote from ECOOP 2004 (where Felleisen was very complementary about Bloch's Effective Java book). Bloch's slides on the performance implications of returning mutable objects, and on "Minimize Accessibility of Everything" and "Minimize Mutability", speak directly to the functional paradigm.
Other points have a functional edge too, such as subclasses not relying on superclasses' implementations (inc. their state), and generalising search methods for data structures to return whole List objects rather than stateful pointers into the structures.

0 Comments:
Post a Comment
<< Home