Herramientas de usuario

Herramientas del sitio


simo:documentos:tecnicos:repositorios

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
simo:documentos:tecnicos:repositorios [2017/10/25 03:45]
lgomez
simo:documentos:tecnicos:repositorios [2017/10/25 03:48] (actual)
lgomez
Línea 31: Línea 31:
 Es decir que la implementación concreta proviene de dos fuentes, la primera es el framework y es transparente al programador,​ la segunda es una clase concreta llamada de igual forma a la interfaz principal pero terminando en el sufijo Impl.  Ejemplo: El repositorio SIMO para la entidad convocatoria se compone de la interfaz ConvocatoriaRepository y la clase concreta ConvocatoriaRepositoryImpl. Es decir que la implementación concreta proviene de dos fuentes, la primera es el framework y es transparente al programador,​ la segunda es una clase concreta llamada de igual forma a la interfaz principal pero terminando en el sufijo Impl.  Ejemplo: El repositorio SIMO para la entidad convocatoria se compone de la interfaz ConvocatoriaRepository y la clase concreta ConvocatoriaRepositoryImpl.
  
-Otro detalle importante es que la clase concreta no implementa directamente la interfaz principal, pues si lo hiciera, tendría que dar implementación también a los métodos declarados en ella y a los métodos contenidos en PagingAndSortingRepository,​ de esta forma se perderían las facilidades otorgadas por el framework. Al no haber una implementación directa (mediante la palabra clave **implements**//Itálica//, el framework debe inferir que clase concreta utilizar, y lo hace por convención buscando una clase de igual nombre a la interfaz pero con el sufijo Impl.+Otro detalle importante es que la clase concreta no implementa directamente la interfaz principal, pues si lo hiciera, tendría que dar implementación también a los métodos declarados en ella y a los métodos contenidos en PagingAndSortingRepository,​ de esta forma se perderían las facilidades otorgadas por el framework. Al no haber una implementación directa (mediante la palabra clave **//implements//**, el framework debe inferir que clase concreta utilizar, y lo hace por convención buscando una clase de igual nombre a la interfaz pero con el sufijo Impl.
  
-Nótese también que la clase+Nótese también que la clase concreta no necesita en sí escribir métodos puesto que al heredar de SearchableRepositoryImpl ya tiene una implementación por defecto, sin embargo, es en esta clase concreta donde se pueden sobreescribir métodos de su clase madre para dar implementación específicas a la entidad que se está manejando en el repositorio,​ y este el caso que más se encuentra en SIMO
  
simo/documentos/tecnicos/repositorios.1508903113.txt.gz · Última modificación: 2017/10/25 03:45 por lgomez