Mi chiedo se qualcuno abbia esperienza nell'isolare gli oggetti di framework l'uno dall'altro (Spring, Hibernate, Struts). Sto iniziando a vedere i "problemi" di progettazione in cui un oggetto da un framework viene utilizzato in un altro oggetto da un framework diverso. La mia paura è che stiamo creando oggetti strettamente accoppiati.Ricerca di modelli di progettazione per isolare i livelli di struttura gli uni dagli altri
Ad esempio, ho un'applicazione in cui abbiamo un DynaActionForm con diversi attributi ... uno dei quali è un POJO generato da Hibernate Tools. Questo POJO viene usato ovunque ... il JSP popola i dati ad esso, l'azione Struts lo invia a un livello di servizio, il DAO lo manterrà ... ack!
Ora, immagina che qualcuno decida di eseguire un piccolo refactoring su quel POJO ... quindi significa che JSP, Action, Service, DAO devono tutti essere aggiornati ... il che è piuttosto doloroso ... C'è deve essere un modo migliore ?!
C'è un libro intitolato Core J2EE Patterns: Best Practices and Design Strategies (2a edizione) ... vale la pena dare un'occhiata? Non credo che tocchi alcun framework specifico, ma sembra che potrebbe dare qualche idea su come applicare correttamente il layer all'applicazione ...
Grazie!
Grazie per la raccomandazione del libro, controllerò. Questo diagramma riassume molto bene ciò che stiamo facendo in questo momento. Sono contento che il titolo del diagramma sia "tipico stratificazione delle applicazioni" e non "non farlo in questo modo" ... :) –
@TReddy: prego. Il diagramma sopra illustra un design molto comune e, sì, c'è qualche accoppiamento. Ma non è un IMO un vero problema per le ragioni che ho dato. E come ha sottolineato @Bozho, penso che il tuo più grande problema nella tua attuale architettura sia Struts 1. –