Difference between revisions of "Abstraction inversion"

From Wiki @ Karl Jones dot com
Jump to: navigation, search
(Created page with "In computer programming, '''abstraction inversion''' is an anti-pattern arising when users of a construct need functions implemented within it but not exposed by its [...")
 
(External links)
Line 22: Line 22:
  
  
 +
 +
[[Category:Anti-patterns]]
 
[[Category:Computer programming]]
 
[[Category:Computer programming]]

Revision as of 09:09, 6 September 2016

In computer programming, abstraction inversion is an anti-pattern arising when users of a construct need functions implemented within it but not exposed by its interface.

The result is that the users re-implement the required functions in terms of the interface, which in its turn uses the internal implementation of the same functions. This may result in implementing lower-level features in terms of higher-level ones, thus the term 'abstraction inversion'.

Description

Possible ill-effects are:

  • The user of such a re-implemented function may seriously underestimate its running-costs.
  • The user of the construct is forced to obscure his implementation with complex mechanical details.
  • Many users attempt to solve the same problem, increasing the risk of error.

See also

External links