Software Design anti patterns Flashcards
Abstraction inversion
Not exposing implemented functionality required by callers of a function/method/constructor, so that the calling code awkwardly re-implements the same functionality in terms of those calls
Big ball of mud
A system with no recognizable structure
Database as IPC
Using a database as the message queue for routine interprocess communication where a much more lightweight mechanism would be suitable
Gold plating
Continuing to work on a task or project well past the point at which extra effort is adding value
Inner platform effect
A system so customizable as to become a poor replica of the software development platform
Interface bloat
Making an interface so powerful that it is extremely difficult to implement
Race hazards
Failing to see consequence of events, that can sometimes interfere with each other.