An AntiPattern is a literary style that describes a typical resolution to an issue with undeniably unfavourable effects. The AntiPattern could be the outcome of a manager or developer not knowing any better, not having the necessary expertise or understanding to address a certain problem type, or applying a perfectly good pattern in the wrong situation.
Good software structure is essential for system extension and maintenance. Software development is a chaotic activity, therefore the implemented structure of systems tends to stray from the planned structure as determined by architecture, analysis, and design.
Software refactoring is an effective approach for improving software structure.
The resulting structure does not have to resemble the original planned structure.
The structure changes because programmers learn constraints and approaches that alter the context of the coded solutions. When used properly, refactoring is a natural activity in the programming process.