Layout della directory dell'applicazione Web Java EE

-1

Introduzione

Sto lavorando su una Applicazione Web Java EE che è un'app CRUD di base. È costruito con tecnologie Servlet e JSP , senza alcun Framework. Lo sto facendo per sporcarmi le mani con cose Java EE semplici.

Struttura del progetto

Ecco le directory / pacchetti del progetto:

  • entità - classi di entità che sono POJO semplici per il mio dominio.

  • dao - Oggetti di accesso ai dati.

  • servizio - rappresenta il livello di servizio che esegue alcuni computazioni / azioni aggiuntivi sugli oggetti DAO.

  • util - classi di utilità per hash password, convalida dati immessi, ecc.

  • controller - Implementazione del modello di progettazione del controller anteriore ; FrontController class che fornisce un punto di accesso centralizzato per tutte le richieste.

    • azione - ha implementazione di Modello di progettazione della strategia ; ha Action interfaccia, ActionFactory con Map<String, Action> actions che sta mappando l'URL all'azione concreta e ha implementazioni di azioni come SignUpActionImpl , DashboardActionImpl , ecc.
  • filtro : classi che implementano l'interfaccia Filter , utilizzate per creare filtri per la codifica delle pagine, limitare l'accesso dell'utente a pagine specifiche, ecc.

Domanda

Come dovrebbe essere il layout della directory del progetto? Va bene renderlo quello che viene chiamato pacchetto per caratteristica ?

    
posta UserNotFoundException 31.12.2016 - 13:31
fonte

2 risposte

2

Nonostante abbia un'architettura a strati, dovresti strutturare il codice in base alle caratteristiche. Quindi avrai pacchetti che incapsulano le funzionalità e sono quindi un po 'stratificati. altrimenti, finirai con le funzioni distribuite su tutto il codice base e i nomi dei pacchetti non ti diranno molto. per esempio. "Controller" conterrà quindi tutti i controller.

Preferisco avere un pacchetto "... login" che contiene per es. un loginService e la vista

    
risposta data 31.12.2016 - 20:06
fonte
0

I pacchetti dell'applicazione devono essere classificati in base a ciò che effettivamente contengono, una categoria dovrebbe riguardare una funzionalità che l'applicazione fornirà a se stessi / altri sviluppatori che lavoreranno sul codice e sul client.

Ad esempio, diciamo che vuoi aggiungere una struttura dello Scheduler per eseguire determinate attività una volta ogni tanto, quella struttura ti offre varie funzionalità come listener di eventi, filtri incorporati, ecc. quindi invece di creare un pacchetto per tutti queste caratteristiche e chiamandolo scheduler e facendo un pasticcio, puoi creare un pacchetto per i filtri e posizionare i tuoi filtri all'interno, un pacchetto per gli ascoltatori e posizionare gli ascoltatori all'interno, questi pacchetti manterranno anche eventuali filtri e gli ascoltatori che hai già da altri framework e Java.

com.myapplication.filters
    ResponseFilter.java
    RequestFilter.java
    ....
com.myapplication.listeners
    SessionListener.java
    SchedulerJobListener.java
    ....

Ovviamente avrai anche un livello di accesso ai dati per ottenere dati e punti finali persistenti per le tue risorse WS, quindi i loro pacchetti apparirebbero come

com.myapplication.resources
com.myapplication.models

Oltre a questo, mi piace molto come MAVEN crea un layout di progetto , l'IDE Netbeans viene già configurato per la creazione di un'app Web MAVEN (tra le altre opzioni).

    
risposta data 02.01.2017 - 13:58
fonte