Come dovrei estendere un servizio esistente?

1

La funzionalità principale del nostro sistema è incapsulata in un servizio, chiamiamola X.

Ci sono richieste che arrivano al servizio X-Manager che gestiscono tutte le convalide e i problemi di sicurezza e attiva le funzionalità di X dopo che tutto è passato.

Ora vogliamo estendere la funzionalità di X con un nuovo modulo, chiamiamolo Y, ma senza modificare troppo il codice di X, preferibilmente senza cambiarlo affatto.

Inoltre, Y potrebbe essere in grado di lavorare autonomamente un giorno (e non solo di estendere X)

L'idea principale ora nel team è di rendere X-Manager chiamare Y con X invece di chiamare X, in modo che Y faccia la sua cosa e poi Y chiamerà la funzionalità di X invece di X-Manager.

Non so perché, ma questo mi fa schifo, spero di essere riuscito a spiegarlo bene ...

C'è un modo migliore per farlo?

    
posta Mithir 17.01.2012 - 15:48
fonte

1 risposta

2

Ciò che proponi è una composizione semplice e non c'è assolutamente nulla di sbagliato in essa. Ancor meno visto che l'X-Manager funge da facciata estraendo questa suddivisione per il mondo esterno. In breve: questo è il modo perfetto per farlo;)

    
risposta data 17.01.2012 - 17:18
fonte

Leggi altre domande sui tag