Poof and then Rails was gone
patmaddox.com
Poof and then Rails was gone
1–10 of 66 posts
Re: Poof and then Rails was gone
#2Re: Poof and then Rails was gone
#3It does seem to be a lot of abstraction. Of course, with abstraction comes flexiblity, that's the point, I get it. But with (some kinds? all?) abstraction also comes complexity and cognitive load for the developer. If you're not careful, you end up in Java FactoryGeneratorFactory land.
(I hope the next step in the 'hexagonal architecture' isn't using an XML file to specify all the linkages and concrete classes in use. How else do you specify what concrete @db etc your controller is instantiated with?)
Re: Poof and then Rails was gone
#4I'm reminded of the various Evolution Of a Programmer jokes which end with the master programmer writing the same code as the beginner programmer.
Re: Poof and then Rails was gone
#5I'm not a huge fan of Rails architecture neccesarily, but I have to admit I have trouble following the 'hexagonal architecture' stuff, even in simple examples like this. It does seem to be a lot of abstraction. Of course, with abstraction comes flexiblity, that's the point, I get it. But with (some kinds? all?) abstraction also comes complexity and cognitive load for the developer. If you're not careful, you end up i…
I find it a bit odd that the community who has railed Java hard suddenly came up with something more complex than... gasp... the solution in Java-land.
Re: Poof and then Rails was gone
#6Poof and your site hosting is gone
Re: Poof and then Rails was gone
#7Re: Poof and then Rails was gone
#8When I read code like this and find that half of the tests are, more or less, a typechecker, it reduces to an argument for static typing.
Re: Poof and then Rails was gone
#9I have a deep dislike for overabstracting a system merely because someone has a list of hypothetical use cases. And make no mistake: it is always about supporting the hypotheticals, never about supporting what's actually really needed by the system.
Down this road lie dozens of layers of abstracted factories and strategy implementations which exist just in case someone wants to "persist" a relational object over a serial printer line. YAGNI.