Buenos días Natalia,
La abstracción de datos nos permite ocultar los detalles internos de cómo se almacenan o se manipulan los datos y, en su lugar, centrarse en cómo interactuar con esos datos de manera más general.
Los detalles internos de cómo se almacenan los datos y cómo se realizan esas operaciones se ocultan al usuario o al programador, lo que facilita el desarrollo de software más modular, mantenible y comprensible.
Esto podemos verlo en casos como en la arquitectura de software. Por ejemplo, imagina que tienes un repositorio que consume datos de un backend, pero hacinedo test de ui tenemos que tener alguna manera de mockear el resultado para que el test no sea flaky. De este modo podemos crear una interfaz y tener dos repositorios. Un repositorio para el entorno real de llamar a backend y otro repositorio para el entorno de testing y devolver datos mockeados. De esta manera no nos preocupamos de la implementación ni de cómo cada repositorio trabaja con los datos, ya que están encapsulados y sólo exponemos los métodos de la interfaz.
Si tienes cualquier duda, puedo ayudarte e incluso a preparar pruebas técnicas si es necesario, aplicando arquitectura de presentación: MVP, MVVM... Repository Pattern, unit testing, integration test e instrumental test con el Page Object Pattern.
Un saludo
Leer más