Disadvantages of using Core Design Patterns

Disadvantages of Core Design Patterns.

We know that "Core Design Patterns" are best practices for creating highly flexible systems. We also know that level of indirections are the technical tool used for increasing the flexibility of any system. When we say that 20 design patterns are of Object scope ie they use Object Composition to manage change , the interface / abstract class plays the role of level of indirection to increase the flexibility.

We also know that every level of indirection introduced to increase the flexibility reduces the performance by the same factor.

We know performance and flexibility are inversely proportional to each other. More the level of indirections more the flexibility and lesser is the performance of the system.

Hence for all the Core Design Patterns using object composition as a technique to manage change, one of the common disadvantage is "Performance" of the system will always be on the lower side.

There might be other limitations like single point of failure in controllers and mediators.

But generally Performance is something that needs to be closely looked at.

Hemant Jha
Founder - VPlanSolutions
Researcher, Trainer