Hoy en día, la mayor parte de las aplicaciones móviles disponen de una base de datos interna (Core Data, Realm…) para guardar información, que luego puede ser utilizada, por ejemplo, si la aplicación no dispone de conexión a internet.
Si queremos implementar una base de datos en nuestra aplicación siguiendo los principios SOLID, debemos tener en cuenta:

  • La capa de base de datos no debe estar expuesta a los controlladores (ViewControllers).
  • Las operacions CRUD en la base de datos solo pueden llamarse desde una servicio (service class).
  • La capa de base de datos debe permitir cambiar el tipo de base de dato en el futuro (por ejemplo, de Core Data a Realm), afectando en la menor parte posible al código de la aplicación.
  • Los objectos o entidades de la base de datos no deben estar expuestos fuera de la capa de base de datos.

Protocolo StorageManager

En primer lugar, debemos establecer un protocolo que declare los métodos para interactuar con la base de datos. Para desacoplar el tipo de objeto que reciben estos métodos con el tipo de base de datos, estableceremos un protocolo, Storable, que todos los objetos deberán adoptar:

Ahora podemos desarrollar el protocolo StorageManager:

Donde Sorted es una struct que nos permite ordenar los resultados obtenidos a través de un parámetro (key) específico:


0 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Sígueme en Feedly