Why I love everything you hate about Java
magicscalingsprinkles.wordpress.com
magicscalingsprinkles.wordpress.com
Writing Java feels like "now I'm going to make a Factory Factory! See, it says FactoryFactory right there in the class name!"
It's entirely natural to use intelligent design patterns in other languages than Java - so natural, in fact, that you don't have to invoke said patterns by name to use them!
[0] : http://avdi.org/devblog/2010/02/09/everything-you-love-about...
This is definitely something i struggle with in my development (which is mostly java). Deciding when you need to introduce an interface (or use a delegate ...) to solve a problem vs. just creating a more direct fix (adding a member variable and a few if statements is probably a very fundamental design problem in all software. The response of 'convention over configuration' is just a way of saying that most of the time sticking with a convention is going to be the faster (to code) and simpler path forward. It's optimizing for the common case and building a real time graph database client is not the common case :(
Of course nobody sane uses Java to write such code, so it's a moot point.