Too much design and abstractions can have negative consequences. Duplication is better than the wrong abstraction.
[…] while you're programming, you are learning. It's often the case that it can take a year of programming on a project before you understand what the best design approach should have been. […]
…he response article by Phil Sturgeon highlighted the main reason for this epitome of pointlessness: “Folks everywhere are building RESTish APIs which are basically just RPC + HTTP verbs + Pretty URLs”.