Pregunta

Como solo estoy aprendiendo todos los frutos de Java y todo lo que quería descubrir una cosa que estaba volando en mi mente por algún tiempo. El código a continuación es un ejemplo rápido de dos métodos en dos clases diferentes. Primero es obviamente un controlador para alguna página y el otro es parte del servicio.

@RequestMapping("/something)
public void doSomething() {
    ...

    SomeEntity example = new SomeEntity();
    example.setAccount(account);
    example.setSmthElse(else);
    example.setDate(new Date());
    example.setSomething(something);

    someService.saveSomeEntity(example);
}

... 

public void saveSomeEntity(SomeEntity object) {
    someEntityDAO.save(object);
}

Entonces mi pregunta aquí es si la creación de la nueva entidad SomeEntity y la configuración de sus propiedades se realizan en la parte de la capa de presentación como arriba o debe hacerse de alguna manera en el saveSomeEntity método pasando todos los parámetros a él?

¿Fue útil?

Solución

El controlador no es la capa de presentación. Es la C en MVC. La capa de persistencia solo debe preocuparse por la persistencia, no la creación de objetos modelo. El código anterior está bien. Algunos crearían los objetos en el servicio, no en el controlador, pero los parámetros están fácilmente disponibles en el controlador, por lo que en mi humilde opinión es aceptable.

Otros consejos

Sí, la entidad se puede crear en cualquier capa.

Algunas personas prefieren DTO (objetos separados con la misma estructura) que luego se traducen a las entidades.

Simplemente evite escribir código Java en el JSPS. Instanciar los objetos en el controlador, o dejar eso en algún mecanismo de unión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top