Creazione di contenuti email | Design corretto

-2

Lavorare su un'applicazione di e-commerce in cui dobbiamo inviare tante e-mail a clienti come

  • Email di registrazione
  • Password dimenticata
  • Ordine inserito

Ci sono molte altre email che possono essere inviate, ho già emailService sul posto che è responsabile per l'invio di e-mail e ha bisogno di un oggetto e-mail, tutto funziona, ma sono colpito a un certo punto e non so come meglio questo può essere fatto.

Abbiamo bisogno di creare contenuti in modo che possano essere passati a emailService e non sono sicuro di come progettarlo.

Ad esempio, nella registrazione del cliente, ho un customerFacade che funziona tra Controller e ServiceLayer , voglio solo delegare questo lavoro di creazione del contenuto dell'email lontano dal livello di facciata e renderlo più flessibile.

Attualmente sto creando contenuti email di registrazione all'interno di customerFacade e alcuni come non mi piace in questo modo, poiché ciò significa che per ogni email, ho bisogno di creare contenuti nella rispettiva facciata.

Qual è il modo migliore per andare o l'approccio attuale va bene?

    
posta Umesh Awasthi 01.02.2014 - 11:42
fonte

1 risposta

0

CustomerFacade? ServiceLayer? E 'questo Hybris?

Il tuo istinto di allontanarlo dalla tua facciata è corretto. Vorrei suggerire un EmailRenderingService .

Passa un modello e un oggetto Contesto a un metodo render . Puoi utilizzare Renderer oggetti all'interno del tuo servizio per rendere ogni componente diverso nella tua email, come il testo e le immagini fornite dal tuo CMS. Questi sono contenuti nel modello. L'oggetto Context contiene gli oggetti Customer e Order (ecc.), Come sono certo che sia ovvio.

Ma se si tratta di hybris, cerca nell'estensione acceleratorservices dove è già tutto fatto. I tre esempi di email che menzioni sono esattamente quelli forniti fuori dagli schemi. Chiamato lo stesso anche, come tutte le classi nella domanda ...

    
risposta data 04.02.2014 - 00:32
fonte

Leggi altre domande sui tag