FACTOID # 11: The USA has more personal computers than the next 7 countries combined.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Abstraction inversion

In computer programming, abstraction inversion occurs when a programmer creates abstract (or simple) constructs on top of concrete (or complex) constructs. The correct way is considered to be the other way round — to create complex constructs on top of more basic constructs. Abstraction inversion is an example of an anti-pattern. Computer code (HTML with JavaScript) in a tool that uses colors to help the developer see the function of each piece of code. ... In computer science, abstraction is a mechanism and practice to reduce and factor out details so that one can focus on few concepts at a time. ... Anti-patterns, also referred to as pitfalls, are classes of commonly-reinvented bad solutions to problems. ...


The term "abstraction inversion" is also sometimes misused as an insult against a certain architecture or design.


This is a somewhat difficult anti-pattern to recognise, as:

  • it can be unclear what is more abstract or concrete, or more simple or complex,
  • a simple interface, though useful, may require a complex implementation,
  • a development environment may require one to express abstract concepts in specific ways,
  • it can be unclear where the irreducible complexity of a system should be located.

Examples that are common outside professional programming circles include:

  • Using Excel lookup functions to replicate the functionality of a database
  • Using variant data types as loop counters in Microsoft Visual Basic where an integer type is also available.

External links


  Results from FactBites:
 
Abstraction (computer science) Summary (3088 words)
An example of this abstraction process is the generational development of programming languages from the machine language to the assembly language and the high-level language.
Data abstraction is the enforcement of a clear separation between the abstract properties of a data type and the concrete details of its implementation.
Object-oriented languages are commonly claimed to offer data abstraction; however, their inheritance concept tends to put information in the interface that more properly belongs in the implementation; thus, changes to such information ends up impacting client code, leading directly to the fragile base class problem.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.