Ir al contenido principal

Cómo aplicar el patrón DAO en Force.com (Parte 1)

En ocasiones es necesario añadir comportamiento tanto a objetos estándar (Standard Objects) como a objetos personalizados (Custom Objects) y a la vez desacoplar los objetos nativos de Force.com para que el componente desarrollado pueda ser reutilizado.

El patrón de diseño que permite dejar la implementación nativa en una capa más baja y crear capas superiores de manera tal de potenciar las funcionalidades es el patrón de diseño DAO.
Este patrón de diseño utiliza tres clases:
  • Una clase para el acceso a los datos (Data Access Object)
  • Una clase intermedia que representa una instancia del dato (Transfer Object)
  • Una clase que procesa o utiliza los datos (Business Object)


¿Cómo funciona esta implementación?

La clase DAO, por la cual recibe el nombre este patrón, es la que se encarga de la recuperación, actualización e incorporación de datos a la base de datos.

Force.com se basa en otro patrón de diseño como lo es MVC (Model-View-Controller) el acceso directo a la base de datos es a través de los modelos que son en definitiva los Standard Objects y Custom Objects, junto con la clase Database.

La clase DAO utilizará estos recursos pero agregará comportamientos tales como consultas SOQL personalizadas para casos puntuales, validaciones o formateos de datos pre o post operaciones sobre los mismos o cualquier otro comportamiento que esté directamente relacionado con el acceso a los datos.

Para realizar las operaciones ABM en Force.com es necesario utilizar los objetos nativos lo cual mantiene un alto acoplamiento con la plataforma Force.com, en este punto se implementan las clases Transfer Object (TO), que no es más que una clase con propiedades idéntica o similares a las de los objetos nativos. Por ejemplo: si se tiene el objeto estándar Account se creará una clase AccountTO donde las propiedades serán similares a los campos del objeto Account.

Este objeto TO lo que permite es la manipulación de los datos sin tener restricciones propias de la plataforma, como por ejemplo relacionar dos registros que aún no han sido guardados/insertados en la base de datos ya que para relacionar dos registros es necesario el ID otorgado por la plataforma al momento de su inserción. También es posible agregar comportamiento a este TO de manera tal de realizar validaciones de datos o bien proveer funcionalidades como cálculos entre campos, conversión de tipos de datos, etc.

Entonces, resumiendo. Hasta ahora tenemos los DAOs y los TOs con los cuales hemos creado una capa superior sobre la plataforma Force.com.
El último objeto a crear es el Business Object (BO) cuya labor es simplemente implementar la lógica de negocio, es decir el qué hacer con los datos y el cómo hacerlo.

Un BO podría ser un controlador para manipular los datos a través de una vista, o bien un proceso como puede ser un buscador.

Comentarios

Entradas populares de este blog

Patrón DAO en PHP (Data Access Object in PHP)

Este patrón es de gran ayuda a la hora de separar la manipulación de datos y acceso a la DB de la lógica propia de la aplicación. Una versión simplificada de este patrón posee tres componentes principales: El acceso a los datos El objeto de transferencia de datos (value object) El cliente que consume esos datos Antes de presentar el diagrama de clases analicemos el problema el cual consiste en encontrar una forma de manipular los datos de manera tal que el modo de acceder a los mismos sea transparente al cliente que los consume. Esto quiere decir que el cliente no tiene la necesidad de conocer cómo se acceden a los datos (SQL, conectores, motor de base de datos, tipo de base de datos, etc.). El objeto de acceso a los datos debe ser capaz de poder proveer lo que el cliente requiera y además el cliente debe poder utilizar cualquier otro objeto de acceso sin que esto afecte su lógica interna asegurando así que el sistema funcionará aún cuando se cambie de motor de base de...

Novedades en Virtual Library for Moodle

Hace exactamente 7 meses que Virtual Library for Moodle fue liberada y hemos superado las 600 descargas!! .. y siguen aumentando . El sitio oficial fue recientemente actualizado para mejorar la navegabilidad y poder brindar a nuestros usuarios un lugar donde encontrar información relativa al proyecto, descargar el software y la documentación además de obtener un método para contactarse. Como todo proyecto Open Source estamos más que felices de recibir participación en su desarrollo; ya sea traduciendo a algún idioma aún no disponible, realizando correcciones, o simplemente utilizándola. Varios de los actuales usuarios han hecho sus aportes comentándonos sus experiencias y sugerencias, en general, han superado con creces nuestras espectativas. En pocos meses estaremos lanzando una nueva versión beta para que todos tengan la posibilidad de probar las últimas correcciones realizadas como así también algunas características incorporadas, como por ejemplo un instalador tanto para Windows ...

Cómo elegir tu nueva notebook?

Tips para elegir tu notebook Al momento de elegir una nueva (o la primera) notebook muchos me consultan ¿cuál es la mejor? Es una pregunta simple pero que para cada uno tiene una respuesta diferente. Mi idea al responderla es siempre averiguar el uso que esa persona le dará a la notebook ya que en definitiva la mejor elección es la que se adapta a la vida de su usuario. Si estás buscando comprarte una nueva notebook yo te recomiendo hacer lo siguiente: Establece un presupuesto máximo . Es muy importante saber hasta cuánto puedes invertir, para mi un buen presupuesto no supera los $4000 (ARS) con un margen aceptable de $500 (ARS) Busca promociones o descuentos . Una muy buena opción a la hora de comprar es buscar los lugares que ofrecen descuentos o promociones con diferentes medios de pago esto te permitirá adquirir un buen producto a un mejor precio Elige tres marcas . De todos los fabricantes disponibles en el mercado  elige los tres que más te gusten por alguna de estas...