Design Pattern Pitfalls
- They almost never apply out of the box, but need to be shaped and customized to match a particular scenario.
- They fail miserably when it comes to expressing business concepts and domain vocabulary, focusing on implementation details instead of behavior.
Caution
Avoid leaking the name of the pattern in your code if possible. Naming should always focus on behavior related to the business functionality you are implementing. Showing off that you have implemented a visitor pattern with an abstract factory and a command doesn't express the functional goal of your code. And it doesn't make you look smarter, either.