La abstracción, una de las herramientas que más nos ayuda a la hora de solucionar un problema, es un mecanismo fundamental para la comprensión de problemas y fenómenos con una gran cantidad de detalles, su idea principal consiste en manejar un problema, fenómeno, objeto, tema o idea como un concepto general, sin considerar la gran cantidad de detalles que estos puedan tener.
De modo general podemos decir que la abstracción permite establecer un nivel jerárquico en el estudio de los fenómenos, el cual se establece por niveles sucesivos de detalles. Generalmente, se sigue un sentido descendente de detalles, desde los niveles más generales a los niveles más concretos.
Por ejemplo: los lenguajes de programación permiten al programador abstraerse del sin fin de detalles del lenguaje de la computadora (ceros y unos). Otro ejemplo, la memoria de la computadora es una estructura unidimensional formada por celdas y sin embargo trabajamos como si fuera única.
La abstracción nos brinda la posibilidad de ir definiendo una serie de refinamientos sucesivos refiriéndose a la estrategia que se utiliza para descomponer un problema en subproblemas. Conforme evoluciona el diseño de software a cada nivel de módulos se representa un refinamiento en el nivel de abstracción. Esto es, incluir detalles que fueron obviados en un nivel superior, en un nivel más bajo de la jerarquía.
En resumen la abstracción oculta la forma en que pensamos al resolver un problema, presentado solamente la parte general para resolverlo, si pudiéramos entrar al cerebro de diferentes personas al resolver un problema encontraríamos muchas maneras para llegar a esa solución, lo que nos importa es la solución sin entrar en tantos detalles.

No hay comentarios:
Publicar un comentario