instanceof vs isAnX ()

En java estoy escribiendo algunos objetos DTO, que todos heredan de AllocationDTO.
Luego se pasa una lista de estos objetos a un objeto DAO para guardar en la base de datos.

Según el subtipo de AllocationDTOguardado, la lógica de guardado cambia (por ejemplo, en qué tabla de la base de datos guardar, etc.)

Me encuentro usando el código como tal:

for (AllocationDTO x : listOfAllocationDtos) {
    if (x instanceof ManagerAllocationDTO) {
         Manager m = (x(ManagerAllocationDTO)).getManager();
         // save manager etc to managerallocs
    } else if (x.getId() == AllocationDTO.TYPE_SPECIAL1) {
         // save to specialAlloc1 table
    } else if (x.getId() == AllocationDTO.TYPE_SPECIAL2) {
         // save to specialAlloc2 table
    }
}

El ManagerAllocationDTOtiene un campo adicional relativa a la asignación de un administrador, pero para los casos specialalloc1 / 2 que no han hecho un subtipo debido a que la única diferencia en los datos es la tabla se guarda en.

Mi pregunta es una pregunta de diseño suave: ¿es esta la mejor manera de hacerlo?

Respuesta 1

He desarrollado una aplicación en la que busco libros mediante la búsqueda de googleapibook. Tengo un isbn no. Ahora quiero dejar que mi usuario lea ese libro página por página. Pero no encontré ningún método o solución para ...

Posible duplicado: ¿Cómo configuro las variables de entorno de Java? ¿Cómo puedo configurar LD_LIBRARY_PATH desde una aplicación Java?

Pude descargar este formulario en mi tarjeta sd (desde una URL determinada): mi aplicación puede acceder a este formulario a través de la vista web de Android. Mi pregunta es cómo guardarlo en un archivo de texto después de que un usuario haya completado los datos en ...

¿Cuál es la forma correcta, usando MultiActionController? Entré en mi clase de Restaurante: logo de byte privado []; En mi base de datos obtuve la imagen BLOB de la tabla. Al usar hibernate, se guarda en mi base de datos correctamente ...