Abstraction inversion
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'.
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 their implementation with complex mechanical details.
- Many users attempt to solve the same problem, increasing the risk of error.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.