2011-02-24 13 views

Respuesta

125

Esto depende del punto de vista (juego de palabras).

En el panorama arquitectónico, su propio código JSF es el V:

M - Dominio del negocio/capa de servicio (por ejemplo EJB/APP/DAO)
V - Su código JSF
C - FacesServlet

en la imagen desarrollador, el arquitectónico V es a su vez divi dable de la siguiente manera:

M - Entidad
V - Facelets página/JSP
C - bean gestionado

En la imagen de cliente más pequeño, el desarrollador V es a su vez divisible de la siguiente manera:

M - Árbol de componentes JSF
V - salida HTML representado
C - cliente (navegador web)

En la imagen aún más pequeño JavaScript, el cliente V es a su vez divisible como a continuación:

M - HTML Árbol DOM
V - Presentación visual
C - Event listener func ciones (interacción del usuario final y Ajax)

Así que es básicamente una M (M (M (MVC) C) C) C;)

Tenga en cuenta que algunos aperitivos y — tutoriales incluso algunos — muy básicas se mezclan/copiar/aplanar las propiedades de la entidad en el bean administrado, lo que efectivamente haría que el controlador sea un modelo.Huelga decir que este es un diseño pobre (es decir, no es un diseño MVC limpio).

Los fragmentos de código en las siguientes respuestas ilustran la derecha enfoque MVC:

+0

+1 Totalmente de acuerdo con ambas filosofías, generalmente es más el caso con big arch. ver en proyectos en tiempo real. –

+2

no entendió el juego de palabras, todavía tiene un uproat –

+1

Bean administrado no es el modelo ??? –

34

M Odel sería su ManagedBean

V IEW habría jsp, XHTML (tan bien puede adaptarse a diferentes puntos de vista aquí)

C ontroller serán FacesServlet

actualización , espero que esta imagen ayude más

enter image description here

+4

+1, Tiene sentido, aunque me gustaría decir tal vez su El modelo es las Entidades (si tiene) y el Controlador son los Granos Gestionados (además del Servidor de Caras) –

+0

@Jigar, si 'FacesServlet' es un controlador que no puedo extender. No puedo tener mis propios controladores ... Estoy de acuerdo con Shervin en que Managed Beans es Controlador. Shervin, ¿qué tal publicar tu propia respuesta alternativa? – yegor256

+1

es Undercover 'FacesServlet' que controla. –

Cuestiones relacionadas