Comencemos desde cero. En primer lugar, ¿qué es realmente la abstracción?
El problema / motivo
Cuando programa, a menudo tiene que resolver problemas muy específicos y detallados.
El motivo principal para la abstracción es cuando puede encontrarse en una situación en la que su programa maneja todo el problema como una sola unidad, con muchas pequeñas peculiaridades discretas que requieren atención y comprensión. El problema aquí es que es difícil para los seres humanos manejar grandes cantidades de datos a la vez.
La solución: abstracción
Para que pueda comprender exactamente lo que necesita para implementar su idea , extraiga soluciones detalladas en abstracciones simplificadas .
Por ejemplo, echemos un vistazo a ORM (mapeo relacional de objetos), donde SQL se abstrae en objetos.
Para insertar un nuevo elemento en una base de datos sin abstracciones, un programador debe conocer SQL. Entonces, para insertar un nuevo elemento, un programador debe recordar la sintaxis de SQL para insertar un nuevo elemento en una tabla:
INSERT INTO Items (field1, field2) VALUES (value1, value2)
Pero con las abstracciones, el programador solo necesita ser consciente de la idea de lo que desea hacer. Una abstracción orientada a objetos podría verse así:
Item item = new Item(value1, value2)
Incluso puede ir un poco más allá y pensar en el hecho de que el SQL en sí mismo es una gran abstracción para toneladas de estructuras y algoritmos sofisticados de almacenamiento de datos, que están completamente a su alcance por el precio de aprender un lenguaje declarativo simple.
El opuesto de la abstracción
Con base en lo que definimos ahora que la abstracción se trata realmente de hacer que sea suficiente solo conocer el concepto por excelencia en cuestión, podemos deducir fácilmente que lo contrario de la abstracción es de hecho esotérica , donde el uso o la comprensión implica tener algún tipo de conocimiento especializado de Las peculiaridades del sujeto.