I'm reading the theory about designing software architecture and I see there are some theories such as SOLID principles, Design Pattern and Anti-Pattern that we should consider when we design our software.
My Question: What are the differences between the Design Pattern and Anti-Pattern and what problem they solve?
Simple Difference would be:
Design Patterns:
Solutions which are productive and efficient and are developed by Software Engineers over the years of practice and solving problems.
Anti Patterns:
Known solutions which are actually bad or defective to certain kind of problems.
From Wikipedia:
An anti-pattern is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive.[1][2] The term, coined in 1995 by Andrew Koenig,[3] was inspired by a book, Design Patterns, which highlights a number of design patterns in software development that its authors considered to be highly reliable and effective.
The term was popularized three years later by the book AntiPatterns, which extended its use beyond the field of software design to refer informally to any commonly reinvented but bad solution to a problem. Examples include analysis paralysis, cargo cult programming, death march, groupthink and vendor lock-in.
Example of some anti patterns:
Hope this makes sense.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With