PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

Mario Peshev: Over-Abstractionism

Note: This article was originally published at PHPDeveloper on 20 October 2012.
PHPDeveloper

Mario Peshev has a new post with a reminder to all of those developing OOP-based software out there (not just PHP devs, really) - don't fall into the "over-abstractionism" trap.

There is a small number of developers who come from the higher language world (like Java or .NET) used to all design patterns for facades, decorators, bridges, abstract factories, DAO/DTO and so on, implementing them in PHP projects. It's usually cool and leads to a better control over the projects once you spend enough time browsing across the different 'incoming' external parameters taking action within the calls. I'm usually 'for' that, as most of the projects lack any kind of maintainability. However...don't overuse abstraction.

He lists a few different situations where he's seen this over-abstraction happening like in front-end controllers, single "handle it all" methods, using third-party scripts and poorly implemented abstraction layers.