BypassableAbstraction

Last edit May 28, 2013
Context

You used CautiousBuyOverBuild and decided to integrate a prebuilt component or framework into your solution. The component or framework acts as an adapter to another component or framework for a subset of its functionality.

You might be developing a framework and have LayeredFrameworks on top of each other to reduce a solution's complexity.

For whatever reason (e.g., functionality isn't suitable, unacceptable bugs or performance issues exist), you've determined that you can't use a portion of its functionality.

Problem

How do you work around the problem?

Forces

  • You've acquired the component or framework and can't modify its implementation.
  • Component or framework providers are unwilling to make the necessary changes to resolve issues.
  • It is easy to work around the problem rather than reinventing the solution.

ComponentDesignPatterns CategoryAbstraction CategoryPattern