pattern MVC con webapp JSF-Spring-MyBatis

1

Ho una webapp Java con questi framework e voglio sapere se la mia implementazione incontra il pattern MVC:

Controller Layer (V)

Sto usando JSF

@ManagedBean
public class Controller{
    @ManagedProperty("#{business}")
    private Business business;

    public void insert(){
        business.insert();
    }
}

Livello aziendale (C)

Sto usando Spring

public interface Business{
    public void insert();
}

@Service("business")
public class BusinessImpl implements Business{
    @Autowired
    private DaoMapper mapper;

    @Override
    @Transactional
    public void insert(){
        mapper.insert();
    }
}

Livello dati (M)

Sto usando MyBatis (questa interfaccia java è associata al file XML di MyBatis)

public interface DaoMapper{
    public void insert();
}

I miei livelli hanno implementato il pattern MVC? Sono confuso: S ...

    
posta Cesar Miguel 26.05.2013 - 09:46
fonte

2 risposte

1

Il tuo codice implementa specificatamente MVC pattern No ma è in realtà MVC, quindi la risposta è YES .

Come Bart van Ingen Schenau sottolinea i dati e il comportamento per recuperare i dati appropriati sono inclusi nel modello. Questo è corretto ma la cosa importante da ricordare su JSF è che il framework stesso è inerentemente MVC.

Modello JSF

Il bean gestito e la logica aziendale iniettata Spring incapsulano il modello.

Vista JSF

Il tuo markup XHTML rappresenta i componenti View. Questo markup contiene anche hook Controller che associano il tuo Modello (Managed Beans, entità ORM, ecc.) Ai componenti View.

Controller JSF

Questo è solo FacesServlet. È il controller che crea l'interazione tra View e Model in modo che lo sviluppatore web non debba preoccuparsi di questo.

    
risposta data 26.05.2013 - 17:58
fonte
0

No, i tuoi livelli, come descritto, non implementano il pattern MVC.

All'interno dello schema MVC, il modello contiene la maggior parte della logica specifica dell'applicazione, in particolare la logica aziendale e tutti i livelli sottostanti. Quindi, nella tua struttura a tre livelli, sarebbero entrambi i livelli Business e Data.

La vista contiene il codice per guidare l'interfaccia utente. Le classi View producono HTML, JSON o XML che vengono visualizzati dal browser.

Le lezioni del controller legano tutto insieme. Ricevono le richieste dal browser e istruiscono il modello e la vista a prendere le azioni pertinenti in base a tale richiesta.

    
risposta data 26.05.2013 - 16:14
fonte

Leggi altre domande sui tag