Unless I am doing Grails (we stopped at 2.1.13 because of the crazy buggy-ness of that platform, its dependence on Hibernate and just random magic insanity that happens). So just using Groovy in a basic Spring + AngularJS web framework has been empowering - I've only been swapping back to non type safe only really for tests. I still look at Mockito with pain.
One of the things that has bugged me however is Closures. If I wanted a callback to work, I lost the type safety. Consider this method:
void listProfiles(User user, boolean favourite, String filter, Closure callback)
So I now am not telling the compiler what types are being passed. I thought about this problem tonight and remember that an interface with a single method is treated as a closure - so I thought I'd try it:
interface ListProfileCallback { void profile(Profile profile, boolean favourite) } void listProfiles(User user, boolean favourite, String filter, ListProfileCallback callback)and sure enough - the type system kicks in and tells me I'm missing a parameter!
(image taken from http://www.luvyababes.co.uk/)
No comments:
Post a Comment